1. 04 Apr, 2011 1 commit
  2. 16 Mar, 2011 1 commit
    • oliver@apple.com's avatar
      2011-03-15 Oliver Hunt <oliver@apple.com> · 90cf7d51
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make Structure creation require a JSGlobalData
              https://bugs.webkit.org/show_bug.cgi?id=56438
      
              Mechanical change to make Structure::create require JSGlobalData&, and
              require all users to provide the globalData.
      
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSContextRef.cpp:
              * JavaScriptCore.exp:
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::DebuggerActivation):
              * debugger/DebuggerActivation.h:
              (JSC::DebuggerActivation::createStructure):
              * jit/JITStubs.cpp:
              (JSC::DEFINE_STUB_FUNCTION):
              * jsc.cpp:
              (GlobalObject::GlobalObject):
              (functionRun):
              (jscmain):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              * runtime/ArrayPrototype.h:
              (JSC::ArrayPrototype::createStructure):
              * runtime/BooleanObject.h:
              (JSC::BooleanObject::createStructure):
              * runtime/DateInstance.h:
              (JSC::DateInstance::createStructure):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/ErrorInstance.h:
              (JSC::ErrorInstance::createStructure):
              * runtime/Executable.h:
              (JSC::ExecutableBase::createStructure):
              (JSC::EvalExecutable::createStructure):
              (JSC::ProgramExecutable::createStructure):
              (JSC::FunctionExecutable::createStructure):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.h:
              (JSC::GetterSetter::createStructure):
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::createStructure):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              * runtime/JSArray.cpp:
              (JSC::JSArray::JSArray):
              * runtime/JSArray.h:
              (JSC::JSArray::createStructure):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::createStructure):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::JSByteArray):
              * runtime/JSCell.h:
              (JSC::JSCell::JSCell::createDummyStructure):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::storeVPtrs):
              (JSC::JSGlobalData::JSGlobalData):
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::JSGlobalObject):
              (JSC::JSGlobalObject::createStructure):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSONObject.h:
              (JSC::JSONObject::createStructure):
              * runtime/JSObject.cpp:
              (JSC::JSObject::createInheritorID):
              * runtime/JSObject.h:
              (JSC::JSObject::createStructure):
              (JSC::JSNonFinalObject::createStructure):
              (JSC::JSFinalObject::createStructure):
              (JSC::createEmptyObjectStructure):
              (JSC::JSObject::inheritorID):
              * runtime/JSObjectWithGlobalObject.h:
              (JSC::JSObjectWithGlobalObject::createStructure):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::createStructure):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.h:
              (JSC::RopeBuilder::createStructure):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::createStructure):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::createStructure):
              * runtime/JSZombie.h:
              (JSC::JSZombie::createStructure):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              * runtime/NativeErrorConstructor.h:
              (JSC::NativeErrorConstructor::createStructure):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.h:
              (JSC::NumberObject::createStructure):
              * runtime/ObjectConstructor.h:
              (JSC::ObjectConstructor::createStructure):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::createStructure):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.h:
              (JSC::StringPrototype::createStructure):
              * runtime/Structure.h:
              (JSC::Structure::create):
      2011-03-15  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make Structure creation require a JSGlobalData
              https://bugs.webkit.org/show_bug.cgi?id=56438
      
              Mechanical change to make all structure creation pass a JSGlobalData&.
      
              * JSRun.cpp:
              (JSGlueGlobalObject::JSGlueGlobalObject):
              (JSRun::JSRun):
              * JSRun.h:
              * JSUtils.cpp:
              (getThreadGlobalObject):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      2011-03-15  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make Structure creation require a JSGlobalData
              https://bugs.webkit.org/show_bug.cgi?id=56438
      
              Mechanical change to make all structure creation use GlobalData
      
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::JSAudioConstructor):
              * bindings/js/JSAudioConstructor.h:
              (WebCore::JSAudioConstructor::createStructure):
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObjectWithGlobalPointer::createStructure):
              (WebCore::DOMConstructorObject::createStructure):
              (WebCore::getDOMStructure):
              * bindings/js/JSDOMGlobalObject.h:
              (WebCore::JSDOMGlobalObject::createStructure):
              * bindings/js/JSDOMWindowBase.h:
              (WebCore::JSDOMWindowBase::createStructure):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::JSDOMWindowShell):
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::JSImageConstructor::JSImageConstructor):
              * bindings/js/JSImageConstructor.h:
              (WebCore::JSImageConstructor::createStructure):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSOptionConstructor.cpp:
              (WebCore::JSOptionConstructor::JSOptionConstructor):
              * bindings/js/JSOptionConstructor.h:
              (WebCore::JSOptionConstructor::createStructure):
              * bindings/js/JSWorkerContextBase.h:
              (WebCore::JSWorkerContextBase::createStructure):
              * bindings/js/WorkerScriptController.cpp:
              (WebCore::WorkerScriptController::initScript):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/c/CRuntimeObject.h:
              (JSC::Bindings::CRuntimeObject::createStructure):
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CRuntimeMethod::createStructure):
              * bridge/jni/jsc/JavaInstanceJSC.cpp:
              (JavaRuntimeMethod::createStructure):
              * bridge/jni/jsc/JavaRuntimeObject.h:
              (JSC::Bindings::JavaRuntimeObject::createStructure):
              * bridge/objc/ObjCRuntimeObject.h:
              (JSC::Bindings::ObjCRuntimeObject::createStructure):
              * bridge/objc/objc_instance.mm:
              (ObjCRuntimeMethod::createStructure):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.h:
              (JSC::Bindings::RuntimeObject::createStructure):
      2011-03-15  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make Structure creation require a JSGlobalData
              https://bugs.webkit.org/show_bug.cgi?id=56438
      
              Mechanical change to make all Structure creation use a JSGlobalData&
      
              * Plugins/Hosted/ProxyInstance.mm:
              (WebKit::ProxyRuntimeMethod::createStructure):
              * Plugins/Hosted/ProxyRuntimeObject.h:
              (WebKit::ProxyRuntimeObject::createStructure):
      2011-03-15  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make Structure creation require a JSGlobalData
              https://bugs.webkit.org/show_bug.cgi?id=56438
      
              Mechanical change to make all Structure creation use a JSGlobalData&.
      
              * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
              (WebKit::JSNPMethod::JSNPMethod):
              * WebProcess/Plugins/Netscape/JSNPMethod.h:
              (WebKit::JSNPMethod::createStructure):
              * WebProcess/Plugins/Netscape/JSNPObject.cpp:
              (WebKit::JSNPObject::JSNPObject):
              * WebProcess/Plugins/Netscape/JSNPObject.h:
              (WebKit::JSNPObject::createStructure):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@81272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90cf7d51
  3. 19 Feb, 2011 1 commit
    • barraclough@apple.com's avatar
      Bug 54786 - Devirtualize JSCell::classInfo() · a5540da1
      barraclough@apple.com authored
      Reviewed by Sam Weinig.
      
      Instead of making a virtual function call, add a pointer to the ClassInfo
      onto Structure.
      
      This removes a virtual function call, and paves the way towards removing all
      the createStructure methods, and StructureFlags/AnonymousSlotCount properties
      (these should be able to move onto ClassInfo).
      
      Calls to Structure::create must now pass a pointer to the ClassInfo for the
      structure. All objects now have a ClassInfo pointer, non-object cell types
      still do not.
      
      Changes are most mechanical, involving three steps:
          * Remove virtual classInfo() methods.
          * Add &s_info parameter to calls to Structure::create.
          * Rename ClassInfo static members on classes from 'info' to 's_info',
            for consistency.
      
      Source/JavaScriptCore: 
      
      * API/JSCallbackConstructor.cpp:
      * API/JSCallbackConstructor.h:
      * API/JSCallbackFunction.cpp:
      * API/JSCallbackFunction.h:
      * API/JSCallbackObject.cpp:
      * API/JSCallbackObject.h:
      * API/JSCallbackObjectFunctions.h:
      * API/JSObjectRef.cpp:
      * API/JSValueRef.cpp:
      * API/JSWeakObjectMapRefPrivate.cpp:
      * JavaScriptCore.exp:
      * debugger/Debugger.cpp:
      * debugger/DebuggerActivation.h:
      * debugger/DebuggerCallFrame.cpp:
      * interpreter/Interpreter.cpp:
      * jit/JITCall32_64.cpp:
      * jit/JITOpcodes.cpp:
      * jit/JITStubs.cpp:
      * profiler/Profiler.cpp:
      * runtime/Arguments.cpp:
      * runtime/Arguments.h:
      * runtime/ArrayConstructor.cpp:
      * runtime/ArrayPrototype.cpp:
      * runtime/ArrayPrototype.h:
      * runtime/BooleanObject.cpp:
      * runtime/BooleanObject.h:
      * runtime/BooleanPrototype.cpp:
      * runtime/DateConstructor.cpp:
      * runtime/DateInstance.cpp:
      * runtime/DateInstance.h:
      * runtime/DatePrototype.cpp:
      * runtime/DatePrototype.h:
      * runtime/ErrorInstance.cpp:
      * runtime/ErrorInstance.h:
      * runtime/ErrorPrototype.cpp:
      * runtime/FunctionPrototype.cpp:
      * runtime/FunctionPrototype.h:
      * runtime/GetterSetter.h:
      * runtime/GlobalEvalFunction.h:
      * runtime/InternalFunction.cpp:
      * runtime/InternalFunction.h:
      * runtime/JSAPIValueWrapper.h:
      * runtime/JSActivation.cpp:
      * runtime/JSActivation.h:
      * runtime/JSArray.cpp:
      * runtime/JSArray.h:
      * runtime/JSByteArray.cpp:
      * runtime/JSByteArray.h:
      * runtime/JSCell.cpp:
      * runtime/JSCell.h:
      * runtime/JSFunction.cpp:
      * runtime/JSFunction.h:
      * runtime/JSGlobalData.cpp:
      * runtime/JSGlobalObject.cpp:
      * runtime/JSGlobalObject.h:
      * runtime/JSNotAnObject.h:
      * runtime/JSONObject.cpp:
      * runtime/JSONObject.h:
      * runtime/JSObject.cpp:
      * runtime/JSObject.h:
      * runtime/JSObjectWithGlobalObject.h:
      * runtime/JSPropertyNameIterator.h:
      * runtime/JSStaticScopeObject.h:
      * runtime/JSString.h:
      * runtime/JSVariableObject.h:
      * runtime/JSWrapperObject.h:
      * runtime/JSZombie.cpp:
      * runtime/JSZombie.h:
      * runtime/Lookup.cpp:
      * runtime/MathObject.cpp:
      * runtime/MathObject.h:
      * runtime/NativeErrorConstructor.cpp:
      * runtime/NativeErrorConstructor.h:
      * runtime/NumberConstructor.cpp:
      * runtime/NumberConstructor.h:
      * runtime/NumberObject.cpp:
      * runtime/NumberObject.h:
      * runtime/NumberPrototype.cpp:
      * runtime/ObjectConstructor.cpp:
      * runtime/ObjectPrototype.cpp:
      * runtime/RegExpConstructor.cpp:
      * runtime/RegExpConstructor.h:
      * runtime/RegExpObject.cpp:
      * runtime/RegExpObject.h:
      * runtime/RegExpPrototype.cpp:
      * runtime/ScopeChain.cpp:
      * runtime/StringConstructor.cpp:
      * runtime/StringObject.cpp:
      * runtime/StringObject.h:
      * runtime/StringObjectThatMasqueradesAsUndefined.h:
      * runtime/StringPrototype.cpp:
      * runtime/StringPrototype.h:
      * runtime/Structure.cpp:
      * runtime/Structure.h:
      
      Source/JavaScriptGlue: 
      
      * JSUtils.cpp:
      (KJSValueToJSObject):
      (KJSValueToCFTypeInternal):
      * UserObjectImp.cpp:
      * UserObjectImp.h:
      (UserObjectImp::createStructure):
      
      Source/WebCore: 
      
      * WebCore.exp.in:
      * bindings/js/JSAudioConstructor.cpp:
      * bindings/js/JSAudioConstructor.h:
      * bindings/js/JSDOMBinding.cpp:
      * bindings/js/JSDOMBinding.h:
      * bindings/js/JSDOMGlobalObject.cpp:
      * bindings/js/JSDOMGlobalObject.h:
      * bindings/js/JSDOMWindowBase.cpp:
      * bindings/js/JSDOMWindowBase.h:
      * bindings/js/JSDOMWindowShell.cpp:
      * bindings/js/JSDOMWindowShell.h:
      * bindings/js/JSGeolocationCustom.cpp:
      * bindings/js/JSImageConstructor.cpp:
      * bindings/js/JSImageConstructor.h:
      * bindings/js/JSImageDataCustom.cpp:
      * bindings/js/JSOptionConstructor.cpp:
      * bindings/js/JSOptionConstructor.h:
      * bindings/js/JSWorkerContextBase.cpp:
      * bindings/js/JSWorkerContextBase.h:
      * bindings/js/SerializedScriptValue.cpp:
      * bindings/scripts/CodeGeneratorJS.pm:
      * bridge/c/CRuntimeObject.cpp:
      * bridge/c/CRuntimeObject.h:
      * bridge/c/c_instance.cpp:
      * bridge/jni/jsc/JNIUtilityPrivate.cpp:
      * bridge/jni/jsc/JavaInstanceJSC.cpp:
      * bridge/jni/jsc/JavaRuntimeObject.cpp:
      * bridge/jni/jsc/JavaRuntimeObject.h:
      * bridge/jsc/BridgeJSC.cpp:
      * bridge/objc/ObjCRuntimeObject.h:
      * bridge/objc/ObjCRuntimeObject.mm:
      * bridge/objc/objc_instance.mm:
      * bridge/objc/objc_runtime.h:
      * bridge/objc/objc_runtime.mm:
      * bridge/runtime_array.cpp:
      * bridge/runtime_array.h:
      * bridge/runtime_method.cpp:
      * bridge/runtime_method.h:
      * bridge/runtime_object.cpp:
      * bridge/runtime_object.h:
      
      Source/WebKit/mac: 
      
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
      (WebKit::ProxyRuntimeMethod::createStructure):
      * Plugins/Hosted/ProxyRuntimeObject.h:
      (WebKit::ProxyRuntimeObject::createStructure):
      * Plugins/Hosted/ProxyRuntimeObject.mm:
      (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
      * WebView/WebView.mm:
      (aeDescFromJSValue):
      
      Source/WebKit2: 
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::JSNPMethod::JSNPMethod):
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      (WebKit::JSNPMethod::createStructure):
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::JSNPObject::JSNPObject):
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      (WebKit::JSNPObject::createStructure):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@79132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5540da1
  4. 31 Jan, 2011 1 commit
  5. 30 Jan, 2011 2 commits
    • ossy@webkit.org's avatar
      2011-01-30 Csaba Osztrogonác <ossy@webkit.org> · ad0e9df1
      ossy@webkit.org authored
              Unreviewed, rolling out r77098, r77099, r77100, r77109, and
              r77111.
              http://trac.webkit.org/changeset/77098
              http://trac.webkit.org/changeset/77099
              http://trac.webkit.org/changeset/77100
              http://trac.webkit.org/changeset/77109
              http://trac.webkit.org/changeset/77111
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              Qt build is broken
      
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObjectData::setPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
              (JSC::JSCallbackObject::setPrivateProperty):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::put):
              (JSC::::staticFunctionGetter):
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrivateProperty):
              * API/JSWeakObjectMapRefInternal.h:
              * JavaScriptCore.exp:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::markAggregate):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::globalObject):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::BytecodeGenerator):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
              (JSC::BytecodeGenerator::findScopedProperty):
              * debugger/Debugger.cpp:
              (JSC::evaluateInGlobalCallFrame):
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::DebuggerActivation):
              (JSC::DebuggerActivation::markChildren):
              * debugger/DebuggerActivation.h:
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * interpreter/CallFrame.h:
              (JSC::ExecState::exception):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveGlobalDynamic):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::appendSourceToError):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::DEFINE_STUB_FUNCTION):
              * jsc.cpp:
              (GlobalObject::GlobalObject):
              * runtime/ArgList.cpp:
              (JSC::MarkedArgumentBuffer::markLists):
              * runtime/Arguments.cpp:
              (JSC::Arguments::markChildren):
              (JSC::Arguments::getOwnPropertySlot):
              (JSC::Arguments::getOwnPropertyDescriptor):
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::setActivation):
              (JSC::Arguments::Arguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              (JSC::constructArrayWithSizeQuirk):
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncSplice):
              * runtime/BatchedTransitionOptimizer.h:
              (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
              (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
              * runtime/BooleanConstructor.cpp:
              (JSC::BooleanConstructor::BooleanConstructor):
              (JSC::constructBoolean):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanPrototype.cpp:
              (JSC::BooleanPrototype::BooleanPrototype):
              * runtime/ConservativeSet.cpp:
              (JSC::ConservativeSet::grow):
              * runtime/ConservativeSet.h:
              (JSC::ConservativeSet::~ConservativeSet):
              (JSC::ConservativeSet::mark):
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              * runtime/DateInstance.cpp:
              (JSC::DateInstance::DateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetYear):
              * runtime/ErrorConstructor.cpp:
              (JSC::ErrorConstructor::ErrorConstructor):
              * runtime/ErrorInstance.cpp:
              (JSC::ErrorInstance::ErrorInstance):
              * runtime/ErrorPrototype.cpp:
              (JSC::ErrorPrototype::ErrorPrototype):
              * runtime/FunctionConstructor.cpp:
              (JSC::FunctionConstructor::FunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::FunctionPrototype::FunctionPrototype):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::markChildren):
              * runtime/GetterSetter.h:
              (JSC::GetterSetter::GetterSetter):
              (JSC::GetterSetter::getter):
              (JSC::GetterSetter::setGetter):
              (JSC::GetterSetter::setter):
              (JSC::GetterSetter::setSetter):
              * runtime/GlobalEvalFunction.cpp:
              (JSC::GlobalEvalFunction::GlobalEvalFunction):
              (JSC::GlobalEvalFunction::markChildren):
              * runtime/GlobalEvalFunction.h:
              (JSC::GlobalEvalFunction::cachedGlobalObject):
              * runtime/Heap.cpp:
              (JSC::Heap::markProtectedObjects):
              (JSC::Heap::markTempSortVectors):
              (JSC::Heap::markRoots):
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::InternalFunction):
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::value):
              (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::markChildren):
              (JSC::JSActivation::put):
              * runtime/JSArray.cpp:
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::getOwnPropertyDescriptor):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::increaseVectorLength):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::unshiftCount):
              (JSC::JSArray::sort):
              (JSC::JSArray::fillArgList):
              (JSC::JSArray::copyToRegisters):
              (JSC::JSArray::compactForSorting):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::uncheckedSetIndex):
              (JSC::JSArray::markChildrenDirect):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::JSByteArray):
              * runtime/JSCell.h:
              (JSC::JSCell::JSValue::toThisObject):
              (JSC::JSCell::MarkStack::append):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::JSFunction):
              (JSC::JSFunction::getOwnPropertySlot):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              (JSC::JSGlobalObject::markChildren):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
              (JSC::JSGlobalObject::regExpConstructor):
              (JSC::JSGlobalObject::errorConstructor):
              (JSC::JSGlobalObject::evalErrorConstructor):
              (JSC::JSGlobalObject::rangeErrorConstructor):
              (JSC::JSGlobalObject::referenceErrorConstructor):
              (JSC::JSGlobalObject::syntaxErrorConstructor):
              (JSC::JSGlobalObject::typeErrorConstructor):
              (JSC::JSGlobalObject::URIErrorConstructor):
              (JSC::JSGlobalObject::evalFunction):
              (JSC::JSGlobalObject::objectPrototype):
              (JSC::JSGlobalObject::functionPrototype):
              (JSC::JSGlobalObject::arrayPrototype):
              (JSC::JSGlobalObject::booleanPrototype):
              (JSC::JSGlobalObject::stringPrototype):
              (JSC::JSGlobalObject::numberPrototype):
              (JSC::JSGlobalObject::datePrototype):
              (JSC::JSGlobalObject::regExpPrototype):
              (JSC::JSGlobalObject::methodCallDummy):
              (JSC::Structure::prototypeForLookup):
              (JSC::constructArray):
              * runtime/JSONObject.cpp:
              (JSC::Stringifier::Holder::object):
              (JSC::Stringifier::markAggregate):
              (JSC::Stringifier::stringify):
              (JSC::Stringifier::Holder::appendNextProperty):
              (JSC::Walker::callReviver):
              (JSC::Walker::walk):
              * runtime/JSObject.cpp:
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::removeDirect):
              (JSC::JSObject::putDirectFunction):
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              (JSC::putDescriptor):
              (JSC::JSObject::defineOwnProperty):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirectOffset):
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::flattenDictionaryObject):
              (JSC::JSObject::putDirectInternal):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectFunction):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              (JSC::JSValue::putDirect):
              (JSC::JSObject::allocatePropertyStorageInline):
              (JSC::JSObject::markChildrenDirect):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::get):
              * runtime/JSPropertyNameIterator.h:
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::markChildren):
              * runtime/JSString.cpp:
              (JSC::StringObject::create):
              * runtime/JSValue.h:
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::markChildren):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/LiteralParser.cpp:
              (JSC::LiteralParser::parse):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MarkStack.h:
              (JSC::MarkStack::appendValues):
              * runtime/MathObject.cpp:
              (JSC::MathObject::MathObject):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              * runtime/NativeErrorPrototype.cpp:
              (JSC::NativeErrorPrototype::NativeErrorPrototype):
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::NumberConstructor):
              (JSC::constructWithNumberConstructor):
              * runtime/NumberObject.cpp:
              (JSC::constructNumber):
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              * runtime/ObjectConstructor.cpp:
              (JSC::ObjectConstructor::ObjectConstructor):
              (JSC::objectConstructorGetOwnPropertyDescriptor):
              * runtime/Operations.h:
              (JSC::normalizePrototypeChain):
              (JSC::resolveBase):
              * runtime/PrototypeFunction.cpp:
              (JSC::PrototypeFunction::PrototypeFunction):
              * runtime/PutPropertySlot.h:
              (JSC::PutPropertySlot::setExistingProperty):
              (JSC::PutPropertySlot::setNewProperty):
              (JSC::PutPropertySlot::base):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::RegExpConstructor):
              * runtime/ScopeChain.cpp:
              (JSC::ScopeChainNode::print):
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::~ScopeChainNode):
              (JSC::ScopeChainIterator::operator*):
              (JSC::ScopeChainIterator::operator->):
              (JSC::ScopeChain::top):
              * runtime/ScopeChainMark.h:
              (JSC::ScopeChain::markAggregate):
              * runtime/SmallStrings.cpp:
              (JSC::isMarked):
              (JSC::SmallStrings::markChildren):
              * runtime/SmallStrings.h:
              (JSC::SmallStrings::emptyString):
              (JSC::SmallStrings::singleCharacterString):
              (JSC::SmallStrings::singleCharacterStrings):
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::StringObject):
              * runtime/StringObject.h:
              * runtime/StringPrototype.cpp:
              (JSC::StringPrototype::StringPrototype):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::addPropertyTransition):
              (JSC::Structure::toDictionaryTransition):
              (JSC::Structure::flattenDictionaryStructure):
              * runtime/Structure.h:
              (JSC::Structure::storedPrototype):
              * runtime/WeakGCMap.h:
              (JSC::WeakGCMap::uncheckedGet):
              (JSC::WeakGCMap::isValid):
              (JSC::::get):
              (JSC::::take):
              (JSC::::set):
              (JSC::::uncheckedRemove):
              * runtime/WriteBarrier.h: Removed.
      2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
      
              Unreviewed, rolling out r77098, r77099, r77100, r77109, and
              r77111.
              http://trac.webkit.org/changeset/77098
              http://trac.webkit.org/changeset/77099
              http://trac.webkit.org/changeset/77100
              http://trac.webkit.org/changeset/77109
              http://trac.webkit.org/changeset/77111
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              Qt build is broken
      
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectMark):
      2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
      
              Unreviewed, rolling out r77098, r77099, r77100, r77109, and
              r77111.
              http://trac.webkit.org/changeset/77098
              http://trac.webkit.org/changeset/77099
              http://trac.webkit.org/changeset/77100
              http://trac.webkit.org/changeset/77109
              http://trac.webkit.org/changeset/77111
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              Qt build is broken
      
              * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
              * WebCore.exp.in:
              * bindings/js/DOMWrapperWorld.h:
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::JSAudioConstructor):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::markDOMNodesForDocument):
              (WebCore::markDOMObjectWrapper):
              (WebCore::markDOMNodeWrapper):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::markChildren):
              (WebCore::JSDOMGlobalObject::setInjectedScript):
              (WebCore::JSDOMGlobalObject::injectedScript):
              * bindings/js/JSDOMGlobalObject.h:
              (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
              (WebCore::getDOMConstructor):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::DialogHandler::dialogCreated):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::JSDOMWindowShell):
              (WebCore::JSDOMWindowShell::setWindow):
              (WebCore::JSDOMWindowShell::markChildren):
              (WebCore::JSDOMWindowShell::unwrappedObject):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::window):
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDeviceMotionEventCustom.cpp:
              (WebCore::createAccelerationObject):
              (WebCore::createRotationRateObject):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              (WebCore::JSEventListener::markJSFunction):
              * bindings/js/JSEventListener.h:
              (WebCore::JSEventListener::jsFunction):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::setAll):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::JSImageConstructor::JSImageConstructor):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              (WebCore::JSJavaScriptCallFrame::scopeType):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::markAggregate):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSOptionConstructor.cpp:
              (WebCore::JSOptionConstructor::JSOptionConstructor):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/ScriptCachedFrameData.cpp:
              (WebCore::ScriptCachedFrameData::restore):
              * bindings/js/ScriptObject.cpp:
              (WebCore::ScriptGlobalObject::set):
              * bindings/js/SerializedScriptValue.cpp:
              (WebCore::CloneDeserializer::putProperty):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::QtInstance):
              (JSC::Bindings::QtInstance::removeCachedMethod):
              (JSC::Bindings::QtInstance::markAggregate):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
              (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
              (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
              (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime_root.cpp:
              (JSC::Bindings::RootObject::invalidate):
              * bridge/runtime_root.h:
              * dom/Document.h:
      2011-01-30  Csaba Osztrogonác  <ossy@webkit.org>
      
              Unreviewed, rolling out r77098, r77099, r77100, r77109, and
              r77111.
              http://trac.webkit.org/changeset/77098
              http://trac.webkit.org/changeset/77099
              http://trac.webkit.org/changeset/77100
              http://trac.webkit.org/changeset/77109
              http://trac.webkit.org/changeset/77111
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              Qt build is broken
      
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame scopeChain]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ad0e9df1
    • oliver@apple.com's avatar
      Convert markstack to a slot visitor API · ba805bee
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=53219
      
      rolling r77006 and r77020 back in.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba805bee
  6. 28 Jan, 2011 2 commits
    • rniwa@webkit.org's avatar
      2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com> · 3857b1ea
      rniwa@webkit.org authored
              Unreviewed, rolling out r77006 and r77020.
              http://trac.webkit.org/changeset/77006
              http://trac.webkit.org/changeset/77020
              https://bugs.webkit.org/show_bug.cgi?id=53360
      
              "Broke Windows tests" (Requested by rniwa on #webkit).
      
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObjectData::setPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
              (JSC::JSCallbackObject::setPrivateProperty):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::put):
              (JSC::::staticFunctionGetter):
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrivateProperty):
              * API/JSWeakObjectMapRefInternal.h:
              * JavaScriptCore.exp:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::markAggregate):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::globalObject):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::BytecodeGenerator):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
              (JSC::BytecodeGenerator::findScopedProperty):
              * debugger/Debugger.cpp:
              (JSC::evaluateInGlobalCallFrame):
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::DebuggerActivation):
              (JSC::DebuggerActivation::markChildren):
              * debugger/DebuggerActivation.h:
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * interpreter/CallFrame.h:
              (JSC::ExecState::exception):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveGlobalDynamic):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::appendSourceToError):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::DEFINE_STUB_FUNCTION):
              * jsc.cpp:
              (GlobalObject::GlobalObject):
              * runtime/ArgList.cpp:
              (JSC::MarkedArgumentBuffer::markLists):
              * runtime/Arguments.cpp:
              (JSC::Arguments::markChildren):
              (JSC::Arguments::getOwnPropertySlot):
              (JSC::Arguments::getOwnPropertyDescriptor):
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::setActivation):
              (JSC::Arguments::Arguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              (JSC::constructArrayWithSizeQuirk):
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncSplice):
              * runtime/BatchedTransitionOptimizer.h:
              (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
              (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
              * runtime/BooleanConstructor.cpp:
              (JSC::BooleanConstructor::BooleanConstructor):
              (JSC::constructBoolean):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanPrototype.cpp:
              (JSC::BooleanPrototype::BooleanPrototype):
              * runtime/ConservativeSet.cpp:
              (JSC::ConservativeSet::grow):
              * runtime/ConservativeSet.h:
              (JSC::ConservativeSet::~ConservativeSet):
              (JSC::ConservativeSet::mark):
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              * runtime/DateInstance.cpp:
              (JSC::DateInstance::DateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetYear):
              * runtime/ErrorConstructor.cpp:
              (JSC::ErrorConstructor::ErrorConstructor):
              * runtime/ErrorInstance.cpp:
              (JSC::ErrorInstance::ErrorInstance):
              * runtime/ErrorPrototype.cpp:
              (JSC::ErrorPrototype::ErrorPrototype):
              * runtime/FunctionConstructor.cpp:
              (JSC::FunctionConstructor::FunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::FunctionPrototype::FunctionPrototype):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::markChildren):
              * runtime/GetterSetter.h:
              (JSC::GetterSetter::GetterSetter):
              (JSC::GetterSetter::getter):
              (JSC::GetterSetter::setGetter):
              (JSC::GetterSetter::setter):
              (JSC::GetterSetter::setSetter):
              * runtime/GlobalEvalFunction.cpp:
              (JSC::GlobalEvalFunction::GlobalEvalFunction):
              (JSC::GlobalEvalFunction::markChildren):
              * runtime/GlobalEvalFunction.h:
              (JSC::GlobalEvalFunction::cachedGlobalObject):
              * runtime/Heap.cpp:
              (JSC::Heap::markProtectedObjects):
              (JSC::Heap::markTempSortVectors):
              (JSC::Heap::markRoots):
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::InternalFunction):
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::value):
              (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::markChildren):
              (JSC::JSActivation::put):
              * runtime/JSArray.cpp:
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::getOwnPropertyDescriptor):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::increaseVectorLength):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::unshiftCount):
              (JSC::JSArray::sort):
              (JSC::JSArray::fillArgList):
              (JSC::JSArray::copyToRegisters):
              (JSC::JSArray::compactForSorting):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::uncheckedSetIndex):
              (JSC::JSArray::markChildrenDirect):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::JSByteArray):
              * runtime/JSCell.h:
              (JSC::JSCell::JSValue::toThisObject):
              (JSC::JSCell::MarkStack::append):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::JSFunction):
              (JSC::JSFunction::getOwnPropertySlot):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              (JSC::JSGlobalObject::markChildren):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
              (JSC::JSGlobalObject::regExpConstructor):
              (JSC::JSGlobalObject::errorConstructor):
              (JSC::JSGlobalObject::evalErrorConstructor):
              (JSC::JSGlobalObject::rangeErrorConstructor):
              (JSC::JSGlobalObject::referenceErrorConstructor):
              (JSC::JSGlobalObject::syntaxErrorConstructor):
              (JSC::JSGlobalObject::typeErrorConstructor):
              (JSC::JSGlobalObject::URIErrorConstructor):
              (JSC::JSGlobalObject::evalFunction):
              (JSC::JSGlobalObject::objectPrototype):
              (JSC::JSGlobalObject::functionPrototype):
              (JSC::JSGlobalObject::arrayPrototype):
              (JSC::JSGlobalObject::booleanPrototype):
              (JSC::JSGlobalObject::stringPrototype):
              (JSC::JSGlobalObject::numberPrototype):
              (JSC::JSGlobalObject::datePrototype):
              (JSC::JSGlobalObject::regExpPrototype):
              (JSC::JSGlobalObject::methodCallDummy):
              (JSC::Structure::prototypeForLookup):
              (JSC::constructArray):
              * runtime/JSONObject.cpp:
              (JSC::Stringifier::Holder::object):
              (JSC::Stringifier::markAggregate):
              (JSC::Stringifier::stringify):
              (JSC::Stringifier::Holder::appendNextProperty):
              (JSC::Walker::callReviver):
              (JSC::Walker::walk):
              * runtime/JSObject.cpp:
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::removeDirect):
              (JSC::JSObject::putDirectFunction):
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              (JSC::putDescriptor):
              (JSC::JSObject::defineOwnProperty):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirectOffset):
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::flattenDictionaryObject):
              (JSC::JSObject::putDirectInternal):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectFunction):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              (JSC::JSValue::putDirect):
              (JSC::JSObject::allocatePropertyStorageInline):
              (JSC::JSObject::markChildrenDirect):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
              (JSC::JSPropertyNameIterator::get):
              * runtime/JSPropertyNameIterator.h:
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::markChildren):
              * runtime/JSString.cpp:
              (JSC::StringObject::create):
              * runtime/JSValue.h:
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::markChildren):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/LiteralParser.cpp:
              (JSC::LiteralParser::parse):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MarkStack.h:
              (JSC::MarkStack::appendValues):
              * runtime/MathObject.cpp:
              (JSC::MathObject::MathObject):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              * runtime/NativeErrorPrototype.cpp:
              (JSC::NativeErrorPrototype::NativeErrorPrototype):
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::NumberConstructor):
              (JSC::constructWithNumberConstructor):
              * runtime/NumberObject.cpp:
              (JSC::constructNumber):
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              * runtime/ObjectConstructor.cpp:
              (JSC::ObjectConstructor::ObjectConstructor):
              (JSC::objectConstructorGetOwnPropertyDescriptor):
              * runtime/Operations.h:
              (JSC::normalizePrototypeChain):
              (JSC::resolveBase):
              * runtime/PrototypeFunction.cpp:
              (JSC::PrototypeFunction::PrototypeFunction):
              * runtime/PutPropertySlot.h:
              (JSC::PutPropertySlot::setExistingProperty):
              (JSC::PutPropertySlot::setNewProperty):
              (JSC::PutPropertySlot::base):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::RegExpConstructor):
              * runtime/ScopeChain.cpp:
              (JSC::ScopeChainNode::print):
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::~ScopeChainNode):
              (JSC::ScopeChainIterator::operator*):
              (JSC::ScopeChainIterator::operator->):
              (JSC::ScopeChain::top):
              * runtime/ScopeChainMark.h:
              (JSC::ScopeChain::markAggregate):
              * runtime/SmallStrings.cpp:
              (JSC::isMarked):
              (JSC::SmallStrings::markChildren):
              * runtime/SmallStrings.h:
              (JSC::SmallStrings::emptyString):
              (JSC::SmallStrings::singleCharacterString):
              (JSC::SmallStrings::singleCharacterStrings):
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::StringObject):
              * runtime/StringObject.h:
              * runtime/StringPrototype.cpp:
              (JSC::StringPrototype::StringPrototype):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::addPropertyTransition):
              (JSC::Structure::toDictionaryTransition):
              (JSC::Structure::flattenDictionaryStructure):
              * runtime/Structure.h:
              (JSC::Structure::storedPrototype):
              * runtime/WeakGCMap.h:
              (JSC::WeakGCMap::uncheckedGet):
              (JSC::WeakGCMap::isValid):
              (JSC::::get):
              (JSC::::take):
              (JSC::::set):
              (JSC::::uncheckedRemove):
              * runtime/WriteBarrier.h: Removed.
      2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r77006 and r77020.
              http://trac.webkit.org/changeset/77006
              http://trac.webkit.org/changeset/77020
              https://bugs.webkit.org/show_bug.cgi?id=53360
      
              "Broke Windows tests" (Requested by rniwa on #webkit).
      
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectMark):
      2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r77006 and r77020.
              http://trac.webkit.org/changeset/77006
              http://trac.webkit.org/changeset/77020
              https://bugs.webkit.org/show_bug.cgi?id=53360
      
              "Broke Windows tests" (Requested by rniwa on #webkit).
      
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame scopeChain]):
      2011-01-28  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r77006 and r77020.
              http://trac.webkit.org/changeset/77006
              http://trac.webkit.org/changeset/77020
              https://bugs.webkit.org/show_bug.cgi?id=53360
      
              "Broke Windows tests" (Requested by rniwa on #webkit).
      
              * ForwardingHeaders/runtime/WriteBarrier.h: Removed.
              * WebCore.exp.in:
              * bindings/js/DOMWrapperWorld.h:
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::JSAudioConstructor):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::markDOMNodesForDocument):
              (WebCore::markDOMObjectWrapper):
              (WebCore::markDOMNodeWrapper):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::markChildren):
              (WebCore::JSDOMGlobalObject::setInjectedScript):
              (WebCore::JSDOMGlobalObject::injectedScript):
              * bindings/js/JSDOMGlobalObject.h:
              (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
              (WebCore::getDOMConstructor):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::DialogHandler::dialogCreated):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::JSDOMWindowShell):
              (WebCore::JSDOMWindowShell::setWindow):
              (WebCore::JSDOMWindowShell::markChildren):
              (WebCore::JSDOMWindowShell::unwrappedObject):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::window):
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSDeviceMotionEventCustom.cpp:
              (WebCore::createAccelerationObject):
              (WebCore::createRotationRateObject):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              (WebCore::JSEventListener::markJSFunction):
              * bindings/js/JSEventListener.h:
              (WebCore::JSEventListener::jsFunction):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::setAll):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::JSImageConstructor::JSImageConstructor):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              (WebCore::JSJavaScriptCallFrame::scopeType):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::markAggregate):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSOptionConstructor.cpp:
              (WebCore::JSOptionConstructor::JSOptionConstructor):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/ScriptCachedFrameData.cpp:
              (WebCore::ScriptCachedFrameData::restore):
              * bindings/js/ScriptObject.cpp:
              (WebCore::ScriptGlobalObject::set):
              * bindings/js/SerializedScriptValue.cpp:
              (WebCore::CloneDeserializer::putProperty):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
              (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
              (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
              (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime_root.cpp:
              (JSC::Bindings::RootObject::invalidate):
              * bridge/runtime_root.h:
              * dom/Document.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3857b1ea
    • oliver@apple.com's avatar
      2011-01-27 Oliver Hunt <oliver@apple.com> · c975423a
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Convert markstack to a slot visitor API
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              Move the MarkStack over to a slot based marking API.
      
              In order to avoiding aliasing concerns there are two new types
              that need to be used when holding on to JSValues and JSCell that
              need to be marked: WriteBarrier and DeprecatedPtr.  WriteBarrier
              is expected to be used for any JSValue or Cell that's lifetime and
              marking is controlled by another GC object.  DeprecatedPtr is used
              for any value that we need to rework ownership for.
      
              The change over to this model has produced a large amount of
              code changes, but they are mostly mechanical (forwarding JSGlobalData,
              etc).
      
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObjectData::setPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
              (JSC::JSCallbackObjectData::JSPrivatePropertyMap::markChildren):
              (JSC::JSCallbackObject::setPrivateProperty):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::put):
              (JSC::::staticFunctionGetter):
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrivateProperty):
              * API/JSWeakObjectMapRefInternal.h:
              * JavaScriptCore.exp:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::markAggregate):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::globalObject):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::BytecodeGenerator):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
              (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
              (JSC::BytecodeGenerator::findScopedProperty):
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::DebuggerActivation):
              (JSC::DebuggerActivation::markChildren):
              * debugger/DebuggerActivation.h:
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobalDynamic):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::appendSourceToError):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::privateExecute):
              * interpreter/Register.h:
              (JSC::Register::jsValueSlot):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::DEFINE_STUB_FUNCTION):
              * jsc.cpp:
              (GlobalObject::GlobalObject):
              * runtime/Arguments.cpp:
              (JSC::Arguments::markChildren):
              (JSC::Arguments::getOwnPropertySlot):
              (JSC::Arguments::getOwnPropertyDescriptor):
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::setActivation):
              (JSC::Arguments::Arguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              (JSC::constructArrayWithSizeQuirk):
              * runtime/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncSplice):
              * runtime/BatchedTransitionOptimizer.h:
              (JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
              (JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
              * runtime/BooleanConstructor.cpp:
              (JSC::BooleanConstructor::BooleanConstructor):
              (JSC::constructBoolean):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanPrototype.cpp:
              (JSC::BooleanPrototype::BooleanPrototype):
              * runtime/ConservativeSet.h:
              (JSC::ConservativeSet::mark):
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              * runtime/DateInstance.cpp:
              (JSC::DateInstance::DateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetYear):
              * runtime/ErrorConstructor.cpp:
              (JSC::ErrorConstructor::ErrorConstructor):
              * runtime/ErrorInstance.cpp:
              (JSC::ErrorInstance::ErrorInstance):
              * runtime/ErrorPrototype.cpp:
              (JSC::ErrorPrototype::ErrorPrototype):
              * runtime/FunctionConstructor.cpp:
              (JSC::FunctionConstructor::FunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::FunctionPrototype::FunctionPrototype):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::markChildren):
              * runtime/GetterSetter.h:
              (JSC::GetterSetter::GetterSetter):
              (JSC::GetterSetter::getter):
              (JSC::GetterSetter::setGetter):
              (JSC::GetterSetter::setter):
              (JSC::GetterSetter::setSetter):
              * runtime/GlobalEvalFunction.cpp:
              (JSC::GlobalEvalFunction::GlobalEvalFunction):
              (JSC::GlobalEvalFunction::markChildren):
              * runtime/GlobalEvalFunction.h:
              (JSC::GlobalEvalFunction::cachedGlobalObject):
              * runtime/Heap.cpp:
              (JSC::Heap::markProtectedObjects):
              (JSC::Heap::markTempSortVectors):
              (JSC::Heap::markRoots):
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::InternalFunction):
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::value):
              (JSC::JSAPIValueWrapper::JSAPIValueWrapper):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::put):
              * runtime/JSArray.cpp:
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::getOwnPropertyDescriptor):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::increaseVectorLength):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::unshiftCount):
              (JSC::JSArray::sort):
              (JSC::JSArray::fillArgList):
              (JSC::JSArray::copyToRegisters):
              (JSC::JSArray::compactForSorting):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::uncheckedSetIndex):
              (JSC::JSArray::markChildrenDirect):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::JSByteArray):
              * runtime/JSCell.h:
              (JSC::JSCell::MarkStack::append):
              (JSC::JSCell::MarkStack::appendCell):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::JSFunction):
              (JSC::JSFunction::getOwnPropertySlot):
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              (JSC::JSGlobalObject::markChildren):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
              (JSC::JSGlobalObject::regExpConstructor):
              (JSC::JSGlobalObject::errorConstructor):
              (JSC::JSGlobalObject::evalErrorConstructor):
              (JSC::JSGlobalObject::rangeErrorConstructor):
              (JSC::JSGlobalObject::referenceErrorConstructor):
              (JSC::JSGlobalObject::syntaxErrorConstructor):
              (JSC::JSGlobalObject::typeErrorConstructor):
              (JSC::JSGlobalObject::URIErrorConstructor):
              (JSC::JSGlobalObject::evalFunction):
              (JSC::JSGlobalObject::objectPrototype):
              (JSC::JSGlobalObject::functionPrototype):
              (JSC::JSGlobalObject::arrayPrototype):
              (JSC::JSGlobalObject::booleanPrototype):
              (JSC::JSGlobalObject::stringPrototype):
              (JSC::JSGlobalObject::numberPrototype):
              (JSC::JSGlobalObject::datePrototype):
              (JSC::JSGlobalObject::regExpPrototype):
              (JSC::JSGlobalObject::methodCallDummy):
              (JSC::constructArray):
              * runtime/JSONObject.cpp:
              (JSC::Stringifier::Holder::object):
              (JSC::Stringifier::Holder::objectSlot):
              (JSC::Stringifier::markAggregate):
              (JSC::Stringifier::stringify):
              (JSC::Stringifier::Holder::appendNextProperty):
              (JSC::Walker::callReviver):
              (JSC::Walker::walk):
              * runtime/JSObject.cpp:
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::removeDirect):
              (JSC::JSObject::putDirectFunction):
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              (JSC::putDescriptor):
              (JSC::JSObject::defineOwnProperty):
              * runtime/JSObject.h:
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::putUndefinedAtDirectOffset):
              (JSC::JSObject::flattenDictionaryObject):
              (JSC::JSObject::putDirectInternal):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectFunction):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::putDirectFunctionWithoutTransition):
              (JSC::JSValue::putDirect):
              (JSC::JSObject::allocatePropertyStorageInline):
              (JSC::JSObject::markChildrenDirect):
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::markChildren):
              * runtime/JSString.cpp:
              (JSC::StringObject::create):
              * runtime/JSValue.h:
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::markChildren):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/LiteralParser.cpp:
              (JSC::LiteralParser::parse):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MarkStack.h:
              * runtime/MathObject.cpp:
              (JSC::MathObject::MathObject):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::NativeErrorConstructor::NativeErrorConstructor):
              * runtime/NativeErrorPrototype.cpp:
              (JSC::NativeErrorPrototype::NativeErrorPrototype):
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::NumberConstructor):
              (JSC::constructWithNumberConstructor):
              * runtime/NumberObject.cpp:
              (JSC::constructNumber):
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              * runtime/ObjectConstructor.cpp:
              (JSC::ObjectConstructor::ObjectConstructor):
              (JSC::objectConstructorGetOwnPropertyDescriptor):
              * runtime/Operations.h:
              (JSC::normalizePrototypeChain):
              (JSC::resolveBase):
              * runtime/PrototypeFunction.cpp:
              (JSC::PrototypeFunction::PrototypeFunction):
              * runtime/PutPropertySlot.h:
              (JSC::PutPropertySlot::setExistingProperty):
              (JSC::PutPropertySlot::setNewProperty):
              (JSC::PutPropertySlot::base):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::RegExpConstructor):
              * runtime/ScopeChain.cpp:
              (JSC::ScopeChainNode::print):
              * runtime/ScopeChain.h:
              (JSC::ScopeChainNode::~ScopeChainNode):
              (JSC::ScopeChainIterator::operator*):
              (JSC::ScopeChainIterator::operator->):
              (JSC::ScopeChain::top):
              * runtime/ScopeChainMark.h:
              (JSC::ScopeChain::markAggregate):
              * runtime/SmallStrings.cpp:
              (JSC::isMarked):
              (JSC::SmallStrings::markChildren):
              * runtime/SmallStrings.h:
              (JSC::SmallStrings::emptyString):
              (JSC::SmallStrings::singleCharacterString):
              (JSC::SmallStrings::singleCharacterStrings):
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::StringObject):
              * runtime/StringObject.h:
              * runtime/StringPrototype.cpp:
              (JSC::StringPrototype::StringPrototype):
              * runtime/Structure.cpp:
              (JSC::Structure::flattenDictionaryStructure):
              * runtime/Structure.h:
              (JSC::Structure::storedPrototypeSlot):
              * runtime/WeakGCMap.h:
              (JSC::WeakGCMap::uncheckedGet):
              (JSC::WeakGCMap::uncheckedGetSlot):
              (JSC::::get):
              (JSC::::take):
              (JSC::::set):
              (JSC::::uncheckedRemove):
              * runtime/WriteBarrier.h: Added.
              (JSC::DeprecatedPtr::DeprecatedPtr):
              (JSC::DeprecatedPtr::get):
              (JSC::DeprecatedPtr::operator*):
              (JSC::DeprecatedPtr::operator->):
              (JSC::DeprecatedPtr::slot):
              (JSC::DeprecatedPtr::operator UnspecifiedBoolType*):
              (JSC::DeprecatedPtr::operator!):
              (JSC::WriteBarrierBase::set):
              (JSC::WriteBarrierBase::get):
              (JSC::WriteBarrierBase::operator*):
              (JSC::WriteBarrierBase::operator->):
              (JSC::WriteBarrierBase::slot):
              (JSC::WriteBarrierBase::operator UnspecifiedBoolType*):
              (JSC::WriteBarrierBase::operator!):
              (JSC::WriteBarrier::WriteBarrier):
              (JSC::operator==):
      2011-01-27  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Convert markstack to a slot visitor API
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              There's no reason to recurse here, the value we
              were marking was protected.
      
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSObjectMark):
      2011-01-27  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Convert markstack to a slot visitor API
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              Update WebCore to the new marking apis, correct bindings
              codegen.
      
              * ForwardingHeaders/runtime/WriteBarrier.h: Added.
              * WebCore.exp.in:
              * bindings/js/DOMWrapperWorld.h:
              (WebCore::DOMWrapperWorld::globalData):
              * bindings/js/JSAudioConstructor.cpp:
              (WebCore::JSAudioConstructor::JSAudioConstructor):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::markDOMNodesForDocument):
              (WebCore::markDOMObjectWrapper):
              (WebCore::markDOMNodeWrapper):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::markChildren):
              (WebCore::JSDOMGlobalObject::setInjectedScript):
              (WebCore::JSDOMGlobalObject::injectedScript):
              * bindings/js/JSDOMGlobalObject.h:
              (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
              (WebCore::getDOMConstructor):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::DialogHandler::dialogCreated):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::JSDOMWindowShell):
              (WebCore::JSDOMWindowShell::setWindow):
              (WebCore::JSDOMWindowShell::markChildren):
              (WebCore::JSDOMWindowShell::unwrappedObject):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::window):
              (WebCore::JSDOMWindowShell::setWindow):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::JSEventListener):
              (WebCore::JSEventListener::markJSFunction):
              * bindings/js/JSEventListener.h:
              (WebCore::JSEventListener::jsFunction):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::setAll):
              * bindings/js/JSImageConstructor.cpp:
              (WebCore::JSImageConstructor::JSImageConstructor):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              (WebCore::JSJavaScriptCallFrame::scopeType):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::markAggregate):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSOptionConstructor.cpp:
              (WebCore::JSOptionConstructor::JSOptionConstructor):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/ScriptCachedFrameData.cpp:
              (WebCore::ScriptCachedFrameData::restore):
              * bindings/js/ScriptObject.cpp:
              (WebCore::ScriptGlobalObject::set):
              * bindings/js/SerializedScriptValue.cpp:
              (WebCore::CloneDeserializer::putProperty):
              * bindings/scripts/CodeGeneratorJS.pm:
              * dom/Document.h:
      2011-01-27  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Convert markstack to a slot visitor API
              https://bugs.webkit.org/show_bug.cgi?id=53219
      
              Update to new marking api
      
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame scopeChain]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@77006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c975423a
  7. 01 Jan, 2011 1 commit
    • abarth@webkit.org's avatar
      Move JavaScriptCore to Source · 76da8fc1
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=51604
      
      Reviewed by Eric Seidel.
      
      Update references to JavaScriptCore to point to the new location.
      
      * Android.mk:
      * CMakeLists.txt:
      * DerivedSources.pro:
      * GNUmakefile.am:
      * Makefile:
      * WebKit.pri:
      * WebKit.pro:
      * wscript:
      
      Tools: 
      
      Update references to JavaScriptCore to point to the new location.
      
      * BuildSlaveSupport/build.webkit.org-config/master.cfg:
      * DumpRenderTree/qt/DumpRenderTree.pro:
      * DumpRenderTree/qt/ImageDiff.pro:
      * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro:
      * DumpRenderTree/wscript:
      * Scripts/build-jsc:
      * Scripts/build-webkit:
      * Scripts/do-file-rename:
      * Scripts/do-webcore-rename:
      * Scripts/run-javascriptcore-tests:
      * Scripts/update-javascriptcore-test-results:
      * Scripts/webkitdirs.pm:
      * Scripts/webkitpy/common/config/build_unittest.py:
      * Scripts/webkitpy/style/checker.py:
      * Scripts/webkitpy/style/checker_unittest.py:
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro:
      * WebKitTestRunner/qt/WebKitTestRunner.pro:
      * wx/build/settings.py:
      
      WebCore: 
      
      Update references to JavaScriptCore.
      
      * Android.derived.jscbindings.mk:
      * Android.v8bindings.mk:
      * CMakeLists.txt:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.pro:
        - These changes are subtle and might not be 100% correct.
      * move-js-headers.sh:
      
      WebKit/chromium: 
      
      * WebKit.gyp:
        - Point to JavaScriptCore in its new location.
      
      WebKit/gtk: 
      
      * GNUmakefile.am:
      * docs/GNUmakefile.am:
        - Point to JavaScriptCore in its new location.
      
      WebKit/qt: 
      
      * WebKit_pch.h:
      * docs/qtwebkit.qdocconf:
        - Point to JavaScriptCore in its new location.
      
      WebKit/win: 
      
      * WebKit.vcproj/WebKit.sln:
        - Point to JavaScriptCore in its new location.
      
      WebKit/wx: 
      
      * bindings/python/wscript:
      * wscript:
        - Point to JavaScriptCore in its new location.
      
      WebKit2: 
      
      * WebKit2.pro:
        - Point to JavaScriptCore in its new location.
      
      Websites/bugs.webkit.org: 
      
      * PrettyPatch/PrettyPatch.rb:
        - Remove reference to JavaScriptCore as a source directory.
      
      Websites/webkit.org: 
      
      * coding/assertion-guidelines.html:
        - Update documentation to point to the new location of
          JavaScriptCore.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76da8fc1
  8. 28 Oct, 2010 1 commit
    • xan@webkit.org's avatar
      2010-10-28 Xan Lopez <xlopez@igalia.com> · 0b31aa52
      xan@webkit.org authored
              Reviewed by Oliver Hunt.
      
              Do not have two different asCell APIs in JSValue
              https://bugs.webkit.org/show_bug.cgi?id=47979
      
              Remove JSCell* asCell(JSValue) in favor of only using
              JSValue::asCell().
      
              * API/APICast.h:
              (toRef):
              * jit/JITPropertyAccess32_64.cpp:
              (JSC::JIT::testPrototype):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCachePutByID):
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::DEFINE_STUB_FUNCTION):
              * runtime/GetterSetter.h:
              (JSC::asGetterSetter):
              * runtime/JSByteArray.h:
              (JSC::asByteArray):
              * runtime/JSCell.h:
              (JSC::JSCell::getCallData):
              (JSC::JSCell::getConstructData):
              * runtime/JSString.h:
              (JSC::RopeBuilder::appendValueInConstructAndIncrementLength):
              (JSC::asString):
              * runtime/JSValue.h:
              * runtime/Operations.cpp:
              (JSC::jsIsObjectType):
              * runtime/Operations.h:
              (JSC::normalizePrototypeChain):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b31aa52
  9. 24 Feb, 2010 1 commit
    • oliver@apple.com's avatar
      2010-02-24 Oliver Hunt <oliver@apple.com> · 8ac6c9f6
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Speed up getter performance in the jit
              https://bugs.webkit.org/show_bug.cgi?id=35332
      
              Implement getter lookup caching in the interpreter.
              The getter stubs are generated through basically the
              same code paths as the normal get_by_id caching.
              Instead of simply loading a property and returning,
              we load the getter slot, and pass the getter, base value
              and return address to a shared stub used for getter
              dispatch.
      
              * jit/JIT.h:
              (JSC::JIT::compileGetByIdProto):
              (JSC::JIT::compileGetByIdSelfList):
              (JSC::JIT::compileGetByIdProtoList):
              (JSC::JIT::compileGetByIdChainList):
              (JSC::JIT::compileGetByIdChain):
              * jit/JITPropertyAccess.cpp:
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              * jit/JITPropertyAccess32_64.cpp:
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              * jit/JITStubs.cpp:
              (JSC::JITThunks::tryCacheGetByID):
              (JSC::DEFINE_STUB_FUNCTION):
              * jit/JITStubs.h:
              (JSC::):
              * runtime/GetterSetter.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ac6c9f6
  10. 28 Jan, 2010 1 commit
    • oliver@apple.com's avatar
      2010-01-28 Oliver Hunt <oliver@apple.com> · aa2c55b9
      oliver@apple.com authored
              Reviewed by Gavin Barraclough.
      
              Simplify anonymous slot implementation
              https://bugs.webkit.org/show_bug.cgi?id=34282
      
              A class must now specify the number of slots it needs at construction time
              rather than later on with a transition.  This makes many things simpler,
              we no longer need to need an additional transition on object creation to
              add the anonymous slots, and we remove the need for a number of transition
              type checks.
      
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * JavaScriptCore.exp:
              * debugger/DebuggerActivation.h:
              (JSC::DebuggerActivation::createStructure):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              * runtime/BooleanObject.h:
              (JSC::BooleanObject::createStructure):
              * runtime/DateInstance.h:
              (JSC::DateInstance::createStructure):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.h:
              (JSC::GetterSetter::createStructure):
              * runtime/GlobalEvalFunction.h:
              (JSC::GlobalEvalFunction::createStructure):
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              * runtime/JSAPIValueWrapper.h:
              (JSC::JSAPIValueWrapper::createStructure):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              * runtime/JSArray.h:
              (JSC::JSArray::createStructure):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::createStructure):
              * runtime/JSCell.h:
              (JSC::JSCell::createDummyStructure):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::createStructure):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSONObject.h:
              (JSC::JSONObject::createStructure):
              * runtime/JSObject.h:
              (JSC::JSObject::createStructure):
              (JSC::JSObject::putAnonymousValue):
              (JSC::JSObject::getAnonymousValue):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::createStructure):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.h:
              (JSC::Fiber::createStructure):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::createStructure):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::createStructure):
              (JSC::JSWrapperObject::JSWrapperObject):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.h:
              (JSC::NumberObject::createStructure):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/Structure.cpp:
              (JSC::Structure::~Structure):
              (JSC::Structure::materializePropertyMap):
              * runtime/Structure.h:
              (JSC::Structure::create):
              (JSC::Structure::anonymousSlotCount):
              * runtime/StructureTransitionTable.h:
      2010-01-28  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Simplify anonymous slot implementation
              https://bugs.webkit.org/show_bug.cgi?id=34282
      
              Update JSGlue Structure usage to pass the anonymous slot count.
      
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      2010-01-28  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Gavin Barraclough.
      
              Simplify anonymous slot implementation
              https://bugs.webkit.org/show_bug.cgi?id=34282
      
              Update the WebCore JS DOM bindings to correctly pass and
              propagate the anonymous slot count information.
      
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObjectWithGlobalPointer::createStructure):
              (WebCore::DOMConstructorObject::createStructure):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.h:
              (JSC::RuntimeObjectImp::createStructure):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54022 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa2c55b9
  11. 15 Oct, 2009 1 commit
  12. 26 Aug, 2009 1 commit
    • ggaren@apple.com's avatar
      A bit of Collector refatoring. · cece7568
      ggaren@apple.com authored
              
      Patch by Geoffrey Garen <ggaren@apple.com> on 2009-08-26
      Reviewed by Oliver Hunt.
      
      SunSpider says no change. v8 says 1.003x faster (1.02x faster on splay).
      
      * JavaScriptCore.exp:
      
      * runtime/JSCell.cpp:
      (JSC::JSCell::toPrimitive):
      (JSC::JSCell::getPrimitiveNumber):
      (JSC::JSCell::toBoolean):
      (JSC::JSCell::toNumber):
      (JSC::JSCell::toString):
      (JSC::JSCell::toObject): Removed pure virtual functions from
      JSCell, so the collector can construct one. This allowed
      me to remove a bunch of ASSERT_NOT_REACHED throughout the
      code, too.
      
      * runtime/JSCell.h:
      (JSC::JSCell::JSCell): ditto
      (JSC::Heap::heap): Inlined this function because it's trivial.
      
      * JavaScriptCore.exp:
      
      * runtime/Collector.cpp:
      (JSC::Heap::destroy):
      (JSC::Heap::allocateBlock):
      (JSC::Heap::freeBlock):
      (JSC::Heap::freeBlocks): Renamed freeHeap to freeBlocks, since
      it doesn't actually free the Heap object.
      (JSC::Heap::heapAllocate):
      (JSC::Heap::sweep):
      * runtime/Collector.h: Refactored block allocation and destruction
      into helper functions.
              
      * runtime/GetterSetter.cpp:
      * runtime/JSAPIValueWrapper.cpp:
      * runtime/JSPropertyNameIterator.cpp: Removed dummy implementations
      of pure virtual functions. (See above.)
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cece7568
  13. 10 Aug, 2009 2 commits
  14. 01 May, 2009 1 commit
    • ggaren@apple.com's avatar
      JavaScriptCore: · dc067b62
      ggaren@apple.com authored
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * API/APICast.h:
              (toJS):
              (toRef):
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.cpp:
              (JSC::JSCallbackFunction::call):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::asCallbackObject):
              (JSC::::put):
              (JSC::::hasInstance):
              (JSC::::call):
              (JSC::::staticValueGetter):
              (JSC::::staticFunctionGetter):
              (JSC::::callbackGetter):
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrototype):
              (JSObjectGetProperty):
              (JSObjectSetProperty):
              (JSObjectGetPropertyAtIndex):
              (JSObjectSetPropertyAtIndex):
              * API/JSValueRef.cpp:
              (JSValueGetType):
              (JSValueIsUndefined):
              (JSValueIsNull):
              (JSValueIsBoolean):
              (JSValueIsNumber):
              (JSValueIsString):
              (JSValueIsObject):
              (JSValueIsObjectOfClass):
              (JSValueIsEqual):
              (JSValueIsStrictEqual):
              (JSValueIsInstanceOfConstructor):
              (JSValueToBoolean):
              (JSValueToNumber):
              (JSValueToStringCopy):
              (JSValueToObject):
              (JSValueProtect):
              (JSValueUnprotect):
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::valueToSourceString):
              (JSC::constantName):
              (JSC::CodeBlock::dump):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::getConstant):
              (JSC::CodeBlock::addUnexpectedConstant):
              (JSC::CodeBlock::unexpectedConstant):
              * bytecode/EvalCodeCache.h:
              (JSC::EvalCodeCache::get):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::addConstant):
              (JSC::BytecodeGenerator::addUnexpectedConstant):
              (JSC::BytecodeGenerator::emitLoad):
              (JSC::BytecodeGenerator::emitGetScopedVar):
              (JSC::BytecodeGenerator::emitPutScopedVar):
              (JSC::BytecodeGenerator::emitNewError):
              (JSC::keyForImmediateSwitch):
              * bytecompiler/BytecodeGenerator.h:
              (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
              (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
              * debugger/Debugger.cpp:
              (JSC::evaluateInGlobalCallFrame):
              * debugger/Debugger.h:
              * debugger/DebuggerActivation.cpp:
              (JSC::DebuggerActivation::put):
              (JSC::DebuggerActivation::putWithAttributes):
              (JSC::DebuggerActivation::lookupGetter):
              (JSC::DebuggerActivation::lookupSetter):
              * debugger/DebuggerActivation.h:
              (JSC::DebuggerActivation::createStructure):
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * debugger/DebuggerCallFrame.h:
              (JSC::DebuggerCallFrame::DebuggerCallFrame):
              (JSC::DebuggerCallFrame::exception):
              * interpreter/CachedCall.h:
              (JSC::CachedCall::CachedCall):
              (JSC::CachedCall::call):
              (JSC::CachedCall::setThis):
              (JSC::CachedCall::setArgument):
              * interpreter/CallFrame.cpp:
              (JSC::CallFrame::thisValue):
              (JSC::CallFrame::dumpCaller):
              * interpreter/CallFrame.h:
              (JSC::ExecState::setException):
              (JSC::ExecState::exception):
              (JSC::ExecState::exceptionSlot):
              * interpreter/CallFrameClosure.h:
              (JSC::CallFrameClosure::setArgument):
              * interpreter/Interpreter.cpp:
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::resolveBaseAndFunc):
              (JSC::isNotObject):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::prepareForRepeatCall):
              (JSC::Interpreter::createExceptionScope):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::retrieveArguments):
              (JSC::Interpreter::retrieveCaller):
              (JSC::Interpreter::retrieveLastCaller):
              * interpreter/Interpreter.h:
              * interpreter/Register.h:
              (JSC::Register::):
              (JSC::Register::Register):
              (JSC::Register::jsValue):
              * jit/JIT.cpp:
              (JSC::):
              (JSC::JIT::privateCompileMainPass):
              * jit/JIT.h:
              * jit/JITArithmetic.cpp:
              (JSC::JIT::compileFastArith_op_mod):
              * jit/JITCall.cpp:
              (JSC::JIT::unlinkCall):
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCall):
              * jit/JITCode.h:
              (JSC::):
              (JSC::JITCode::execute):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitGetVirtualRegister):
              (JSC::JIT::getConstantOperand):
              (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
              (JSC::JIT::emitInitRegister):
              * jit/JITPropertyAccess.cpp:
              (JSC::JIT::privateCompilePutByIdTransition):
              (JSC::JIT::patchGetByIdSelf):
              (JSC::JIT::patchPutByIdReplace):
              (JSC::JIT::privateCompileGetByIdSelf):
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              (JSC::JIT::privateCompilePutByIdReplace):
              * jit/JITStubs.cpp:
              (JSC::JITStubs::tryCachePutByID):
              (JSC::JITStubs::tryCacheGetByID):
              (JSC::JITStubs::cti_op_convert_this):
              (JSC::JITStubs::cti_op_add):
              (JSC::JITStubs::cti_op_pre_inc):
              (JSC::JITStubs::cti_op_loop_if_less):
              (JSC::JITStubs::cti_op_loop_if_lesseq):
              (JSC::JITStubs::cti_op_get_by_id_generic):
              (JSC::JITStubs::cti_op_get_by_id):
              (JSC::JITStubs::cti_op_get_by_id_second):
              (JSC::JITStubs::cti_op_get_by_id_self_fail):
              (JSC::JITStubs::cti_op_get_by_id_proto_list):
              (JSC::JITStubs::cti_op_get_by_id_proto_list_full):
              (JSC::JITStubs::cti_op_get_by_id_proto_fail):
              (JSC::JITStubs::cti_op_get_by_id_array_fail):
              (JSC::JITStubs::cti_op_get_by_id_string_fail):
              (JSC::JITStubs::cti_op_instanceof):
              (JSC::JITStubs::cti_op_del_by_id):
              (JSC::JITStubs::cti_op_mul):
              (JSC::JITStubs::cti_op_call_NotJSFunction):
              (JSC::JITStubs::cti_op_resolve):
              (JSC::JITStubs::cti_op_construct_NotJSConstruct):
              (JSC::JITStubs::cti_op_get_by_val):
              (JSC::JITStubs::cti_op_get_by_val_string):
              (JSC::JITStubs::cti_op_get_by_val_byte_array):
              (JSC::JITStubs::cti_op_resolve_func):
              (JSC::JITStubs::cti_op_sub):
              (JSC::JITStubs::cti_op_put_by_val):
              (JSC::JITStubs::cti_op_put_by_val_array):
              (JSC::JITStubs::cti_op_put_by_val_byte_array):
              (JSC::JITStubs::cti_op_lesseq):
              (JSC::JITStubs::cti_op_loop_if_true):
              (JSC::JITStubs::cti_op_load_varargs):
              (JSC::JITStubs::cti_op_negate):
              (JSC::JITStubs::cti_op_resolve_base):
              (JSC::JITStubs::cti_op_resolve_skip):
              (JSC::JITStubs::cti_op_resolve_global):
              (JSC::JITStubs::cti_op_div):
              (JSC::JITStubs::cti_op_pre_dec):
              (JSC::JITStubs::cti_op_jless):
              (JSC::JITStubs::cti_op_not):
              (JSC::JITStubs::cti_op_jtrue):
              (JSC::JITStubs::cti_op_post_inc):
              (JSC::JITStubs::cti_op_eq):
              (JSC::JITStubs::cti_op_lshift):
              (JSC::JITStubs::cti_op_bitand):
              (JSC::JITStubs::cti_op_rshift):
              (JSC::JITStubs::cti_op_bitnot):
              (JSC::JITStubs::cti_op_resolve_with_base):
              (JSC::JITStubs::cti_op_mod):
              (JSC::JITStubs::cti_op_less):
              (JSC::JITStubs::cti_op_neq):
              (JSC::JITStubs::cti_op_post_dec):
              (JSC::JITStubs::cti_op_urshift):
              (JSC::JITStubs::cti_op_bitxor):
              (JSC::JITStubs::cti_op_bitor):
              (JSC::JITStubs::cti_op_call_eval):
              (JSC::JITStubs::cti_op_throw):
              (JSC::JITStubs::cti_op_next_pname):
              (JSC::JITStubs::cti_op_typeof):
              (JSC::JITStubs::cti_op_is_undefined):
              (JSC::JITStubs::cti_op_is_boolean):
              (JSC::JITStubs::cti_op_is_number):
              (JSC::JITStubs::cti_op_is_string):
              (JSC::JITStubs::cti_op_is_object):
              (JSC::JITStubs::cti_op_is_function):
              (JSC::JITStubs::cti_op_stricteq):
              (JSC::JITStubs::cti_op_nstricteq):
              (JSC::JITStubs::cti_op_to_jsnumber):
              (JSC::JITStubs::cti_op_in):
              (JSC::JITStubs::cti_op_switch_imm):
              (JSC::JITStubs::cti_op_switch_char):
              (JSC::JITStubs::cti_op_switch_string):
              (JSC::JITStubs::cti_op_del_by_val):
              (JSC::JITStubs::cti_op_new_error):
              (JSC::JITStubs::cti_vm_throw):
              * jit/JITStubs.h:
              * jsc.cpp:
              (functionPrint):
              (functionDebug):
              (functionGC):
              (functionVersion):
              (functionRun):
              (functionLoad):
              (functionSetSamplingFlag):
              (functionClearSamplingFlag):
              (functionReadline):
              (functionQuit):
              * parser/Nodes.cpp:
              (JSC::processClauseList):
              * profiler/ProfileGenerator.cpp:
              (JSC::ProfileGenerator::addParentForConsoleStart):
              * profiler/Profiler.cpp:
              (JSC::Profiler::willExecute):
              (JSC::Profiler::didExecute):
              (JSC::Profiler::createCallIdentifier):
              * profiler/Profiler.h:
              * runtime/ArgList.cpp:
              (JSC::MarkedArgumentBuffer::slowAppend):
              * runtime/ArgList.h:
              (JSC::MarkedArgumentBuffer::at):
              (JSC::MarkedArgumentBuffer::append):
              (JSC::ArgList::ArgList):
              (JSC::ArgList::at):
              * runtime/Arguments.cpp:
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              (JSC::asArguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::callArrayConstructor):
              * runtime/ArrayPrototype.cpp:
              (JSC::getProperty):
              (JSC::putProperty):
              (JSC::arrayProtoFuncToString):
              (JSC::arrayProtoFuncToLocaleString):
              (JSC::arrayProtoFuncJoin):
              (JSC::arrayProtoFuncConcat):
              (JSC::arrayProtoFuncPop):
              (JSC::arrayProtoFuncPush):
              (JSC::arrayProtoFuncReverse):
              (JSC::arrayProtoFuncShift):
              (JSC::arrayProtoFuncSlice):
              (JSC::arrayProtoFuncSort):
              (JSC::arrayProtoFuncSplice):
              (JSC::arrayProtoFuncUnShift):
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncMap):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncForEach):
              (JSC::arrayProtoFuncSome):
              (JSC::arrayProtoFuncReduce):
              (JSC::arrayProtoFuncReduceRight):
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanConstructor.cpp:
              (JSC::callBooleanConstructor):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanConstructor.h:
              * runtime/BooleanObject.h:
              (JSC::asBooleanObject):
              * runtime/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString):
              (JSC::booleanProtoFuncValueOf):
              * runtime/CallData.cpp:
              (JSC::call):
              * runtime/CallData.h:
              * runtime/Collector.cpp:
              (JSC::Heap::protect):
              (JSC::Heap::unprotect):
              (JSC::Heap::heap):
              * runtime/Collector.h:
              * runtime/Completion.cpp:
              (JSC::evaluate):
              * runtime/Completion.h:
              (JSC::Completion::Completion):
              (JSC::Completion::value):
              (JSC::Completion::setValue):
              * runtime/ConstructData.cpp:
              (JSC::construct):
              * runtime/ConstructData.h:
              * runtime/DateConstructor.cpp:
              (JSC::constructDate):
              (JSC::callDate):
              (JSC::dateParse):
              (JSC::dateNow):
              (JSC::dateUTC):
              * runtime/DateInstance.h:
              (JSC::asDateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncToString):
              (JSC::dateProtoFuncToUTCString):
              (JSC::dateProtoFuncToDateString):
              (JSC::dateProtoFuncToTimeString):
              (JSC::dateProtoFuncToLocaleString):
              (JSC::dateProtoFuncToLocaleDateString):
              (JSC::dateProtoFuncToLocaleTimeString):
              (JSC::dateProtoFuncGetTime):
              (JSC::dateProtoFuncGetFullYear):
              (JSC::dateProtoFuncGetUTCFullYear):
              (JSC::dateProtoFuncToGMTString):
              (JSC::dateProtoFuncGetMonth):
              (JSC::dateProtoFuncGetUTCMonth):
              (JSC::dateProtoFuncGetDate):
              (JSC::dateProtoFuncGetUTCDate):
              (JSC::dateProtoFuncGetDay):
              (JSC::dateProtoFuncGetUTCDay):
              (JSC::dateProtoFuncGetHours):
              (JSC::dateProtoFuncGetUTCHours):
              (JSC::dateProtoFuncGetMinutes):
              (JSC::dateProtoFuncGetUTCMinutes):
              (JSC::dateProtoFuncGetSeconds):
              (JSC::dateProtoFuncGetUTCSeconds):
              (JSC::dateProtoFuncGetMilliSeconds):
              (JSC::dateProtoFuncGetUTCMilliseconds):
              (JSC::dateProtoFuncGetTimezoneOffset):
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetMilliSeconds):
              (JSC::dateProtoFuncSetUTCMilliseconds):
              (JSC::dateProtoFuncSetSeconds):
              (JSC::dateProtoFuncSetUTCSeconds):
              (JSC::dateProtoFuncSetMinutes):
              (JSC::dateProtoFuncSetUTCMinutes):
              (JSC::dateProtoFuncSetHours):
              (JSC::dateProtoFuncSetUTCHours):
              (JSC::dateProtoFuncSetDate):
              (JSC::dateProtoFuncSetUTCDate):
              (JSC::dateProtoFuncSetMonth):
              (JSC::dateProtoFuncSetUTCMonth):
              (JSC::dateProtoFuncSetFullYear):
              (JSC::dateProtoFuncSetUTCFullYear):
              (JSC::dateProtoFuncSetYear):
              (JSC::dateProtoFuncGetYear):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/ErrorConstructor.cpp:
              (JSC::callErrorConstructor):
              * runtime/ErrorPrototype.cpp:
              (JSC::errorProtoFuncToString):
              * runtime/ExceptionHelpers.cpp:
              (JSC::createInterruptedExecutionException):
              (JSC::createError):
              (JSC::createStackOverflowError):
              (JSC::createUndefinedVariableError):
              (JSC::createErrorMessage):
              (JSC::createInvalidParamError):
              (JSC::createNotAConstructorError):
              (JSC::createNotAFunctionError):
              * runtime/ExceptionHelpers.h:
              * runtime/FunctionConstructor.cpp:
              (JSC::callFunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::callFunctionPrototype):
              (JSC::functionProtoFuncToString):
              (JSC::functionProtoFuncApply):
              (JSC::functionProtoFuncCall):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::toPrimitive):
              (JSC::GetterSetter::getPrimitiveNumber):
              * runtime/GetterSetter.h:
              (JSC::asGetterSetter):
              * runtime/InternalFunction.cpp:
              (JSC::InternalFunction::displayName):
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              (JSC::asInternalFunction):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::getOwnPropertySlot):
              (JSC::JSActivation::put):
              (JSC::JSActivation::putWithAttributes):
              (JSC::JSActivation::argumentsGetter):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              (JSC::asActivation):
              * runtime/JSArray.cpp:
              (JSC::storageSize):
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::mark):
              (JSC::compareNumbersForQSort):
              (JSC::JSArray::sortNumeric):
              (JSC::JSArray::sort):
              (JSC::JSArray::compactForSorting):
              (JSC::JSArray::checkConsistency):
              (JSC::constructArray):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::createStructure):
              (JSC::asArray):
              (JSC::isJSArray):
              * runtime/JSByteArray.cpp:
              (JSC::JSByteArray::createStructure):
              (JSC::JSByteArray::put):
              * runtime/JSByteArray.h:
              (JSC::JSByteArray::getIndex):
              (JSC::JSByteArray::setIndex):
              (JSC::asByteArray):
              (JSC::isJSByteArray):
              * runtime/JSCell.cpp:
              (JSC::JSCell::put):
              (JSC::JSCell::getJSNumber):
              * runtime/JSCell.h:
              (JSC::asCell):
              (JSC::JSValue::asCell):
              (JSC::JSValue::isString):
              (JSC::JSValue::isGetterSetter):
              (JSC::JSValue::isObject):
              (JSC::JSValue::getString):
              (JSC::JSValue::getObject):
              (JSC::JSValue::getCallData):
              (JSC::JSValue::getConstructData):
              (JSC::JSValue::getUInt32):
              (JSC::JSValue::getTruncatedInt32):
              (JSC::JSValue::getTruncatedUInt32):
              (JSC::JSValue::mark):
              (JSC::JSValue::marked):
              (JSC::JSValue::toPrimitive):
              (JSC::JSValue::getPrimitiveNumber):
              (JSC::JSValue::toBoolean):
              (JSC::JSValue::toNumber):
              (JSC::JSValue::toString):
              (JSC::JSValue::toObject):
              (JSC::JSValue::toThisObject):
              (JSC::JSValue::needsThisConversion):
              (JSC::JSValue::toThisString):
              (JSC::JSValue::getJSNumber):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::call):
              (JSC::JSFunction::argumentsGetter):
              (JSC::JSFunction::callerGetter):
              (JSC::JSFunction::lengthGetter):
              (JSC::JSFunction::getOwnPropertySlot):
              (JSC::JSFunction::put):
              (JSC::JSFunction::construct):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              (JSC::asFunction):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::put):
              (JSC::JSGlobalObject::putWithAttributes):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::createStructure):
              (JSC::JSGlobalObject::GlobalPropertyInfo::GlobalPropertyInfo):
              (JSC::asGlobalObject):
              (JSC::Structure::prototypeForLookup):
              (JSC::Structure::prototypeChain):
              (JSC::Structure::isValid):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::encode):
              (JSC::decode):
              (JSC::globalFuncEval):
              (JSC::globalFuncParseInt):
              (JSC::globalFuncParseFloat):
              (JSC::globalFuncIsNaN):
              (JSC::globalFuncIsFinite):
              (JSC::globalFuncDecodeURI):
              (JSC::globalFuncDecodeURIComponent):
              (JSC::globalFuncEncodeURI):
              (JSC::globalFuncEncodeURIComponent):
              (JSC::globalFuncEscape):
              (JSC::globalFuncUnescape):
              (JSC::globalFuncJSCPrint):
              * runtime/JSGlobalObjectFunctions.h:
              * runtime/JSImmediate.cpp:
              (JSC::JSImmediate::toThisObject):
              (JSC::JSImmediate::toObject):
              (JSC::JSImmediate::prototype):
              (JSC::JSImmediate::toString):
              * runtime/JSImmediate.h:
              (JSC::JSImmediate::isImmediate):
              (JSC::JSImmediate::isNumber):
              (JSC::JSImmediate::isIntegerNumber):
              (JSC::JSImmediate::isDoubleNumber):
              (JSC::JSImmediate::isPositiveIntegerNumber):
              (JSC::JSImmediate::isBoolean):
              (JSC::JSImmediate::isUndefinedOrNull):
              (JSC::JSImmediate::isEitherImmediate):
              (JSC::JSImmediate::areBothImmediate):
              (JSC::JSImmediate::areBothImmediateIntegerNumbers):
              (JSC::JSImmediate::makeValue):
              (JSC::JSImmediate::makeInt):
              (JSC::JSImmediate::makeDouble):
              (JSC::JSImmediate::makeBool):
              (JSC::JSImmediate::makeUndefined):
              (JSC::JSImmediate::makeNull):
              (JSC::JSImmediate::doubleValue):
              (JSC::JSImmediate::intValue):
              (JSC::JSImmediate::uintValue):
              (JSC::JSImmediate::boolValue):
              (JSC::JSImmediate::rawValue):
              (JSC::JSImmediate::trueImmediate):
              (JSC::JSImmediate::falseImmediate):
              (JSC::JSImmediate::undefinedImmediate):
              (JSC::JSImmediate::nullImmediate):
              (JSC::JSImmediate::zeroImmediate):
              (JSC::JSImmediate::oneImmediate):
              (JSC::JSImmediate::impossibleValue):
              (JSC::JSImmediate::toBoolean):
              (JSC::JSImmediate::getTruncatedUInt32):
              (JSC::JSImmediate::fromNumberOutsideIntegerRange):
              (JSC::JSImmediate::from):
              (JSC::JSImmediate::getTruncatedInt32):
              (JSC::JSImmediate::toDouble):
              (JSC::JSImmediate::getUInt32):
              (JSC::JSValue::JSValue):
              (JSC::JSValue::isUndefinedOrNull):
              (JSC::JSValue::isBoolean):
              (JSC::JSValue::getBoolean):
              (JSC::JSValue::toInt32):
              (JSC::JSValue::toUInt32):
              (JSC::JSValue::isCell):
              (JSC::JSValue::isInt32Fast):
              (JSC::JSValue::getInt32Fast):
              (JSC::JSValue::isUInt32Fast):
              (JSC::JSValue::getUInt32Fast):
              (JSC::JSValue::makeInt32Fast):
              (JSC::JSValue::areBothInt32Fast):
              (JSC::JSFastMath::canDoFastBitwiseOperations):
              (JSC::JSFastMath::equal):
              (JSC::JSFastMath::notEqual):
              (JSC::JSFastMath::andImmediateNumbers):
              (JSC::JSFastMath::xorImmediateNumbers):
              (JSC::JSFastMath::orImmediateNumbers):
              (JSC::JSFastMath::canDoFastRshift):
              (JSC::JSFastMath::canDoFastUrshift):
              (JSC::JSFastMath::rightShiftImmediateNumbers):
              (JSC::JSFastMath::canDoFastAdditiveOperations):
              (JSC::JSFastMath::addImmediateNumbers):
              (JSC::JSFastMath::subImmediateNumbers):
              (JSC::JSFastMath::incImmediateNumber):
              (JSC::JSFastMath::decImmediateNumber):
              * runtime/JSNotAnObject.cpp:
              (JSC::JSNotAnObject::toPrimitive):
              (JSC::JSNotAnObject::getPrimitiveNumber):
              (JSC::JSNotAnObject::put):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSNumberCell.cpp:
              (JSC::JSNumberCell::toPrimitive):
              (JSC::JSNumberCell::getPrimitiveNumber):
              (JSC::JSNumberCell::getJSNumber):
              (JSC::jsNumberCell):
              * runtime/JSNumberCell.h:
              (JSC::JSNumberCell::createStructure):
              (JSC::isNumberCell):
              (JSC::asNumberCell):
              (JSC::jsNumber):
              (JSC::JSValue::isDoubleNumber):
              (JSC::JSValue::getDoubleNumber):
              (JSC::JSValue::isNumber):
              (JSC::JSValue::uncheckedGetNumber):
              (JSC::jsNaN):
              (JSC::JSValue::toJSNumber):
              (JSC::JSValue::getNumber):
              (JSC::JSValue::numberToInt32):
              (JSC::JSValue::numberToUInt32):
              * runtime/JSObject.cpp:
              (JSC::JSObject::mark):
              (JSC::JSObject::put):
              (JSC::JSObject::putWithAttributes):
              (JSC::callDefaultValueFunction):
              (JSC::JSObject::getPrimitiveNumber):
              (JSC::JSObject::defaultValue):
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::lookupGetter):
              (JSC::JSObject::lookupSetter):
              (JSC::JSObject::hasInstance):
              (JSC::JSObject::toNumber):
              (JSC::JSObject::toString):
              (JSC::JSObject::fillGetterPropertySlot):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirect):
              (JSC::JSObject::getDirectLocation):
              (JSC::JSObject::offsetForLocation):
              (JSC::JSObject::locationForOffset):
              (JSC::JSObject::getDirectOffset):
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::createStructure):
              (JSC::asObject):
              (JSC::JSObject::prototype):
              (JSC::JSObject::setPrototype):
              (JSC::JSValue::isObject):
              (JSC::JSObject::inlineGetOwnPropertySlot):
              (JSC::JSObject::getOwnPropertySlotForWrite):
              (JSC::JSObject::getPropertySlot):
              (JSC::JSObject::get):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::toPrimitive):
              (JSC::JSValue::get):
              (JSC::JSValue::put):
              (JSC::JSObject::allocatePropertyStorageInline):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::toPrimitive):
              (JSC::JSPropertyNameIterator::getPrimitiveNumber):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::next):
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::put):
              (JSC::JSStaticScopeObject::putWithAttributes):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.cpp:
              (JSC::JSString::toPrimitive):
              (JSC::JSString::getPrimitiveNumber):
              (JSC::JSString::getOwnPropertySlot):
              * runtime/JSString.h:
              (JSC::JSString::createStructure):
              (JSC::asString):
              (JSC::isJSString):
              (JSC::JSValue::toThisJSString):
              * runtime/JSValue.cpp:
              (JSC::JSValue::toInteger):
              (JSC::JSValue::toIntegerPreserveNaN):
              * runtime/JSValue.h:
              (JSC::JSValue::makeImmediate):
              (JSC::JSValue::asValue):
              (JSC::noValue):
              (JSC::jsImpossibleValue):
              (JSC::jsNull):
              (JSC::jsUndefined):
              (JSC::jsBoolean):
              (JSC::operator==):
              (JSC::operator!=):
              (JSC::JSValue::encode):
              (JSC::JSValue::decode):
              (JSC::JSValue::JSValue):
              (JSC::JSValue::operator bool):
              (JSC::JSValue::operator==):
              (JSC::JSValue::operator!=):
              (JSC::JSValue::isUndefined):
              (JSC::JSValue::isNull):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::symbolTablePut):
              (JSC::JSVariableObject::symbolTablePutWithAttributes):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MathObject.cpp:
              (JSC::mathProtoFuncAbs):
              (JSC::mathProtoFuncACos):
              (JSC::mathProtoFuncASin):
              (JSC::mathProtoFuncATan):
              (JSC::mathProtoFuncATan2):
              (JSC::mathProtoFuncCeil):
              (JSC::mathProtoFuncCos):
              (JSC::mathProtoFuncExp):
              (JSC::mathProtoFuncFloor):
              (JSC::mathProtoFuncLog):
              (JSC::mathProtoFuncMax):
              (JSC::mathProtoFuncMin):
              (JSC::mathProtoFuncPow):
              (JSC::mathProtoFuncRandom):
              (JSC::mathProtoFuncRound):
              (JSC::mathProtoFuncSin):
              (JSC::mathProtoFuncSqrt):
              (JSC::mathProtoFuncTan):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::callNativeErrorConstructor):
              * runtime/NumberConstructor.cpp:
              (JSC::numberConstructorNaNValue):
              (JSC::numberConstructorNegInfinity):
              (JSC::numberConstructorPosInfinity):
              (JSC::numberConstructorMaxValue):
              (JSC::numberConstructorMinValue):
              (JSC::callNumberConstructor):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.cpp:
              (JSC::NumberObject::getJSNumber):
              (JSC::constructNumber):
              * runtime/NumberObject.h:
              * runtime/NumberPrototype.cpp:
              (JSC::numberProtoFuncToString):
              (JSC::numberProtoFuncToLocaleString):
              (JSC::numberProtoFuncValueOf):
              (JSC::numberProtoFuncToFixed):
              (JSC::numberProtoFuncToExponential):
              (JSC::numberProtoFuncToPrecision):
              * runtime/ObjectConstructor.cpp:
              (JSC::constructObject):
              (JSC::callObjectConstructor):
              * runtime/ObjectPrototype.cpp:
              (JSC::objectProtoFuncValueOf):
              (JSC::objectProtoFuncHasOwnProperty):
              (JSC::objectProtoFuncIsPrototypeOf):
              (JSC::objectProtoFuncDefineGetter):
              (JSC::objectProtoFuncDefineSetter):
              (JSC::objectProtoFuncLookupGetter):
              (JSC::objectProtoFuncLookupSetter):
              (JSC::objectProtoFuncPropertyIsEnumerable):
              (JSC::objectProtoFuncToLocaleString):
              (JSC::objectProtoFuncToString):
              * runtime/ObjectPrototype.h:
              * runtime/Operations.cpp:
              (JSC::JSValue::equalSlowCase):
              (JSC::JSValue::strictEqualSlowCase):
              (JSC::throwOutOfMemoryError):
              (JSC::jsAddSlowCase):
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::jsIsFunctionType):
              * runtime/Operations.h:
              (JSC::JSValue::equal):
              (JSC::JSValue::equalSlowCaseInline):
              (JSC::JSValue::strictEqual):
              (JSC::JSValue::strictEqualSlowCaseInline):
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAdd):
              (JSC::countPrototypeChainEntriesAndCheckForProxies):
              (JSC::resolveBase):
              * runtime/PropertySlot.cpp:
              (JSC::PropertySlot::functionGetter):
              * runtime/PropertySlot.h:
              (JSC::PropertySlot::PropertySlot):
              (JSC::PropertySlot::getValue):
              (JSC::PropertySlot::putValue):
              (JSC::PropertySlot::setValueSlot):
              (JSC::PropertySlot::setValue):
              (JSC::PropertySlot::setCustom):
              (JSC::PropertySlot::setCustomIndex):
              (JSC::PropertySlot::slotBase):
              (JSC::PropertySlot::setBase):
              (JSC::PropertySlot::):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
              (JSC::ProtectedPtr::operator JSValue):
              (JSC::ProtectedJSValue::ProtectedJSValue):
              (JSC::ProtectedJSValue::get):
              (JSC::ProtectedJSValue::operator JSValue):
              (JSC::ProtectedJSValue::operator->):
              (JSC::ProtectedJSValue::~ProtectedJSValue):
              (JSC::ProtectedJSValue::operator=):
              (JSC::operator==):
              (JSC::operator!=):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::getBackref):
              (JSC::RegExpConstructor::getLastParen):
              (JSC::RegExpConstructor::getLeftContext):
              (JSC::RegExpConstructor::getRightContext):
              (JSC::regExpConstructorDollar1):
              (JSC::regExpConstructorDollar2):
              (JSC::regExpConstructorDollar3):
              (JSC::regExpConstructorDollar4):
              (JSC::regExpConstructorDollar5):
              (JSC::regExpConstructorDollar6):
              (JSC::regExpConstructorDollar7):
              (JSC::regExpConstructorDollar8):
              (JSC::regExpConstructorDollar9):
              (JSC::regExpConstructorInput):
              (JSC::regExpConstructorMultiline):
              (JSC::regExpConstructorLastMatch):
              (JSC::regExpConstructorLastParen):
              (JSC::regExpConstructorLeftContext):
              (JSC::regExpConstructorRightContext):
              (JSC::RegExpConstructor::put):
              (JSC::setRegExpConstructorInput):
              (JSC::setRegExpConstructorMultiline):
              (JSC::constructRegExp):
              (JSC::callRegExpConstructor):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              (JSC::asRegExpConstructor):
              * runtime/RegExpMatchesArray.h:
              (JSC::RegExpMatchesArray::put):
              * runtime/RegExpObject.cpp:
              (JSC::regExpObjectGlobal):
              (JSC::regExpObjectIgnoreCase):
              (JSC::regExpObjectMultiline):
              (JSC::regExpObjectSource):
              (JSC::regExpObjectLastIndex):
              (JSC::RegExpObject::put):
              (JSC::setRegExpObjectLastIndex):
              (JSC::RegExpObject::test):
              (JSC::RegExpObject::exec):
              (JSC::callRegExpObject):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              (JSC::asRegExpObject):
              * runtime/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest):
              (JSC::regExpProtoFuncExec):
              (JSC::regExpProtoFuncCompile):
              (JSC::regExpProtoFuncToString):
              * runtime/StringConstructor.cpp:
              (JSC::stringFromCharCodeSlowCase):
              (JSC::stringFromCharCode):
              (JSC::callStringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::put):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              (JSC::asStringObject):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncToString):
              (JSC::stringProtoFuncCharAt):
              (JSC::stringProtoFuncCharCodeAt):
              (JSC::stringProtoFuncConcat):
              (JSC::stringProtoFuncIndexOf):
              (JSC::stringProtoFuncLastIndexOf):
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncSlice):
              (JSC::stringProtoFuncSplit):
              (JSC::stringProtoFuncSubstr):
              (JSC::stringProtoFuncSubstring):
              (JSC::stringProtoFuncToLowerCase):
              (JSC::stringProtoFuncToUpperCase):
              (JSC::stringProtoFuncLocaleCompare):
              (JSC::stringProtoFuncBig):
              (JSC::stringProtoFuncSmall):
              (JSC::stringProtoFuncBlink):
              (JSC::stringProtoFuncBold):
              (JSC::stringProtoFuncFixed):
              (JSC::stringProtoFuncItalics):
              (JSC::stringProtoFuncStrike):
              (JSC::stringProtoFuncSub):
              (JSC::stringProtoFuncSup):
              (JSC::stringProtoFuncFontcolor):
              (JSC::stringProtoFuncFontsize):
              (JSC::stringProtoFuncAnchor):
              (JSC::stringProtoFuncLink):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::changePrototypeTransition):
              * runtime/Structure.h:
              (JSC::Structure::create):
              (JSC::Structure::setPrototypeWithoutTransition):
              (JSC::Structure::storedPrototype):
      
      JavaScriptGlue:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      
      WebCore:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::setValue):
              * bindings/js/JSCDATASectionCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              (WebCore::JSCSSStyleDeclaration::customPut):
              * bindings/js/JSCSSValueCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::toJS):
              (WebCore::toHTMLCanvasStyle):
              (WebCore::JSCanvasRenderingContext2D::strokeStyle):
              (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
              (WebCore::JSCanvasRenderingContext2D::fillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillColor):
              (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
              (WebCore::JSCanvasRenderingContext2D::strokeRect):
              (WebCore::JSCanvasRenderingContext2D::drawImage):
              (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
              (WebCore::JSCanvasRenderingContext2D::setShadow):
              (WebCore::JSCanvasRenderingContext2D::createPattern):
              (WebCore::JSCanvasRenderingContext2D::putImageData):
              (WebCore::JSCanvasRenderingContext2D::fillText):
              (WebCore::JSCanvasRenderingContext2D::strokeText):
              * 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::profiles):
              * bindings/js/JSCoordinatesCustom.cpp:
              (WebCore::JSCoordinates::altitude):
              (WebCore::JSCoordinates::altitudeAccuracy):
              (WebCore::JSCoordinates::heading):
              (WebCore::JSCoordinates::speed):
              * bindings/js/JSCustomPositionCallback.cpp:
              (WebCore::JSCustomPositionCallback::handleEvent):
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              (WebCore::JSCustomPositionErrorCallback::handleEvent):
              * 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):
              (WebCore::toVoidCallback):
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::hasItem):
              (WebCore::JSDOMApplicationCache::add):
              (WebCore::JSDOMApplicationCache::remove):
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsStringOrNull):
              (WebCore::jsOwnedStringOrNull):
              (WebCore::jsStringOrUndefined):
              (WebCore::jsStringOrFalse):
              (WebCore::valueToStringWithNullCheck):
              (WebCore::valueToStringWithUndefinedOrNullCheck):
              (WebCore::reportException):
              (WebCore::reportCurrentException):
              (WebCore::setDOMException):
              (WebCore::objectToStringFunctionGetter):
              * bindings/js/JSDOMBinding.h:
              (WebCore::getDOMObjectWrapper):
              (WebCore::getDOMNodeWrapper):
              (WebCore::toJS):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::findJSEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
              (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSDOMStringListCustom.cpp:
              (WebCore::JSDOMStringList::getByIndex):
              (WebCore::JSDOMStringList::item):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::childFrameGetter):
              (WebCore::JSDOMWindowBase::indexGetter):
              (WebCore::JSDOMWindowBase::namedItemGetter):
              (WebCore::JSDOMWindowBase::getOwnPropertySlot):
              (WebCore::JSDOMWindowBase::put):
              (WebCore::JSDOMWindowBase::setReturnValueSlot):
              (WebCore::toJS):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::lookupGetter):
              (WebCore::JSDOMWindow::lookupSetter):
              (WebCore::JSDOMWindow::history):
              (WebCore::JSDOMWindow::location):
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::JSDOMWindow::crypto):
              (WebCore::JSDOMWindow::event):
              (WebCore::JSDOMWindow::image):
              (WebCore::JSDOMWindow::option):
              (WebCore::JSDOMWindow::audio):
              (WebCore::JSDOMWindow::webKitPoint):
              (WebCore::JSDOMWindow::webKitCSSMatrix):
              (WebCore::JSDOMWindow::xmlHttpRequest):
              (WebCore::JSDOMWindow::xsltProcessor):
              (WebCore::JSDOMWindow::messageChannel):
              (WebCore::JSDOMWindow::worker):
              (WebCore::createWindow):
              (WebCore::JSDOMWindow::open):
              (WebCore::JSDOMWindow::showModalDialog):
              (WebCore::JSDOMWindow::postMessage):
              (WebCore::JSDOMWindow::setTimeout):
              (WebCore::JSDOMWindow::setInterval):
              (WebCore::JSDOMWindow::atob):
              (WebCore::JSDOMWindow::btoa):
              (WebCore::JSDOMWindow::addEventListener):
              (WebCore::JSDOMWindow::removeEventListener):
              (WebCore::toDOMWindow):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::nonCachingStaticFunctionGetter):
              (WebCore::JSDOMWindow::customPut):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::put):
              (WebCore::JSDOMWindowShell::putWithAttributes):
              (WebCore::JSDOMWindowShell::lookupGetter):
              (WebCore::JSDOMWindowShell::lookupSetter):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSDatabaseCustom.cpp:
              (WebCore::JSDatabase::changeVersion):
              (WebCore::JSDatabase::transaction):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::location):
              (WebCore::JSDocument::setLocation):
              (WebCore::toJS):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::setAttribute):
              (WebCore::JSElement::setAttributeNode):
              (WebCore::JSElement::setAttributeNS):
              (WebCore::JSElement::setAttributeNodeNS):
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSEventCustom.cpp:
              (WebCore::JSEvent::clipboardData):
              (WebCore::toJS):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSEventListener::handleEvent):
              * bindings/js/JSEventTarget.cpp:
              (WebCore::toJS):
              (WebCore::toEventTarget):
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSGeolocationCustom.cpp:
              (WebCore::createPositionOptions):
              (WebCore::JSGeolocation::getCurrentPosition):
              (WebCore::JSGeolocation::watchPosition):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::createStructure):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::customPut):
              (WebCore::JSHTMLAppletElement::nameGetter):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::getNamedItems):
              (WebCore::callHTMLCollection):
              (WebCore::JSHTMLCollection::nameGetter):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              (WebCore::toJS):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::nameGetter):
              (WebCore::JSHTMLDocument::all):
              (WebCore::JSHTMLDocument::setAll):
              (WebCore::JSHTMLDocument::open):
              (WebCore::JSHTMLDocument::write):
              (WebCore::JSHTMLDocument::writeln):
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::customPut):
              (WebCore::JSHTMLEmbedElement::nameGetter):
              * bindings/js/JSHTMLFormElementCustom.cpp:
              (WebCore::JSHTMLFormElement::nameGetter):
              (WebCore::JSHTMLFormElement::submit):
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              (WebCore::JSHTMLFrameElement::setSrc):
              (WebCore::JSHTMLFrameElement::setLocation):
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              (WebCore::JSHTMLFrameSetElement::nameGetter):
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              (WebCore::JSHTMLIFrameElement::setSrc):
              * bindings/js/JSHTMLInputElementCustom.cpp:
              (WebCore::JSHTMLInputElement::selectionStart):
              (WebCore::JSHTMLInputElement::setSelectionStart):
              (WebCore::JSHTMLInputElement::selectionEnd):
              (WebCore::JSHTMLInputElement::setSelectionEnd):
              (WebCore::JSHTMLInputElement::setSelectionRange):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::customPut):
              (WebCore::JSHTMLObjectElement::nameGetter):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::length):
              (WebCore::JSHTMLOptionsCollection::setLength):
              (WebCore::JSHTMLOptionsCollection::indexSetter):
              (WebCore::JSHTMLOptionsCollection::add):
              (WebCore::JSHTMLOptionsCollection::remove):
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::remove):
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              (WebCore::nonCachingStaticBackFunctionGetter):
              (WebCore::nonCachingStaticForwardFunctionGetter):
              (WebCore::nonCachingStaticGoFunctionGetter):
              (WebCore::JSHistory::customPut):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              (WebCore::JSInspectedObjectWrapper::wrap):
              (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::JSInspectorCallbackWrapper::wrap):
              (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorControllerCustom.cpp:
              (WebCore::JSInspectorController::highlightDOMNode):
              (WebCore::JSInspectorController::addResourceSourceToFrame):
              (WebCore::JSInspectorController::addSourceToFrame):
              (WebCore::JSInspectorController::getResourceDocumentNode):
              (WebCore::JSInspectorController::search):
              (WebCore::JSInspectorController::databaseTableNames):
              (WebCore::JSInspectorController::inspectedWindow):
              (WebCore::JSInspectorController::setting):
              (WebCore::JSInspectorController::setSetting):
              (WebCore::JSInspectorController::wrapCallback):
              (WebCore::JSInspectorController::currentCallFrame):
              (WebCore::JSInspectorController::profiles):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::evaluate):
              (WebCore::JSJavaScriptCallFrame::thisObject):
              (WebCore::JSJavaScriptCallFrame::type):
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              * bindings/js/JSLazyEventListener.cpp:
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::nonCachingStaticReplaceFunctionGetter):
              (WebCore::nonCachingStaticReloadFunctionGetter):
              (WebCore::nonCachingStaticAssignFunctionGetter):
              (WebCore::JSLocation::customPut):
              (WebCore::JSLocation::setHref):
              (WebCore::JSLocation::setProtocol):
              (WebCore::JSLocation::setHost):
              (WebCore::JSLocation::setHostname):
              (WebCore::JSLocation::setPort):
              (WebCore::JSLocation::setPathname):
              (WebCore::JSLocation::setSearch):
              (WebCore::JSLocation::setHash):
              (WebCore::JSLocation::replace):
              (WebCore::JSLocation::reload):
              (WebCore::JSLocation::assign):
              (WebCore::JSLocation::toString):
              (WebCore::JSLocationPrototype::customPut):
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::startConversation):
              (WebCore::JSMessagePort::addEventListener):
              (WebCore::JSMessagePort::removeEventListener):
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              (WebCore::JSMimeTypeArray::nameGetter):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::nameGetter):
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::lengthGetter):
              (WebCore::JSNamedNodesCollection::indexGetter):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::createStructure):
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              (WebCore::JSNavigator::appVersion):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::insertBefore):
              (WebCore::JSNode::replaceChild):
              (WebCore::JSNode::removeChild):
              (WebCore::JSNode::appendChild):
              (WebCore::JSNode::addEventListener):
              (WebCore::JSNode::removeEventListener):
              (WebCore::createWrapper):
              (WebCore::toJSNewlyCreated):
              (WebCore::toJS):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::acceptNode):
              (WebCore::toNodeFilter):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::nextNode):
              (WebCore::JSNodeIterator::previousNode):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::callNodeList):
              (WebCore::JSNodeList::nameGetter):
              * bindings/js/JSPluginArrayCustom.cpp:
              (WebCore::JSPluginArray::nameGetter):
              * bindings/js/JSPluginCustom.cpp:
              (WebCore::JSPlugin::nameGetter):
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::runtimeObjectGetter):
              (WebCore::runtimeObjectPropertyGetter):
              (WebCore::runtimeObjectCustomPut):
              (WebCore::callPlugin):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::asWrapper):
              (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
              (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
              (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
              (WebCore::JSQuarantinedObjectWrapper::put):
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::hasInstance):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::createStructure):
              * bindings/js/JSRGBColor.cpp:
              (WebCore::getJSRGBColor):
              (jsRGBColorRed):
              (jsRGBColorGreen):
              (jsRGBColorBlue):
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::createStructure):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::addEventListener):
              (WebCore::JSSVGElementInstance::removeEventListener):
              (WebCore::toJS):
              * bindings/js/JSSVGLengthCustom.cpp:
              (WebCore::JSSVGLength::value):
              (WebCore::JSSVGLength::convertToSpecifiedUnits):
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::rotateFromVector):
              * bindings/js/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * 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::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (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::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGTransformList::clear):
              (WebCore::JSSVGTransformList::initialize):
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              (WebCore::JSSVGTransformList::appendItem):
              * bindings/js/JSStorageCustom.cpp:
              (WebCore::JSStorage::nameGetter):
              (WebCore::JSStorage::deleteProperty):
              (WebCore::JSStorage::customPut):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSStyleSheetListCustom.cpp:
              (WebCore::JSStyleSheetList::nameGetter):
              * bindings/js/JSTextCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * 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/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::self):
              (WebCore::JSWorkerContext::setSelf):
              (WebCore::JSWorkerContext::xmlHttpRequest):
              (WebCore::JSWorkerContext::importScripts):
              (WebCore::JSWorkerContext::addEventListener):
              (WebCore::JSWorkerContext::removeEventListener):
              (WebCore::JSWorkerContext::setTimeout):
              (WebCore::JSWorkerContext::setInterval):
              * bindings/js/JSWorkerCustom.cpp:
              (WebCore::JSWorker::addEventListener):
              (WebCore::JSWorker::removeEventListener):
              * 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::responseText):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::addEventListener):
              (WebCore::JSXMLHttpRequestUpload::removeEventListener):
              * 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::create):
              (WebCore::ScheduledAction::ScheduledAction):
              (WebCore::ScheduledAction::executeFunctionInContext):
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptCallStack.cpp:
              (WebCore::ScriptCallStack::ScriptCallStack):
              (WebCore::ScriptCallStack::initialize):
              * bindings/js/ScriptCallStack.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::jsObjectForPluginElement):
              * bindings/js/ScriptFunctionCall.cpp:
              (WebCore::ScriptFunctionCall::appendArgument):
              (WebCore::ScriptFunctionCall::call):
              (WebCore::ScriptFunctionCall::construct):
              * bindings/js/ScriptFunctionCall.h:
              * bindings/js/ScriptObject.cpp:
              (WebCore::ScriptGlobalObject::get):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue):
              (WebCore::ScriptValue::jsValue):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_HasMethod):
              (_NPN_Construct):
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::invokeMethod):
              (JSC::Bindings::CInstance::invokeDefaultMethod):
              (JSC::Bindings::CInstance::invokeConstruct):
              (JSC::Bindings::CInstance::defaultValue):
              (JSC::Bindings::CInstance::stringValue):
              (JSC::Bindings::CInstance::numberValue):
              (JSC::Bindings::CInstance::booleanValue):
              (JSC::Bindings::CInstance::valueOf):
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              (JSC::Bindings::CField::valueFromInstance):
              (JSC::Bindings::CField::setValueToInstance):
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertValueToNPVariant):
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::eval):
              (JavaJSObject::getMember):
              (JavaJSObject::getSlot):
              (JavaJSObject::convertValueToJObject):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              (JSC::Bindings::convertArrayInstanceToJavaArray):
              (JSC::Bindings::convertValueToJValue):
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              (JSC::Bindings::ObjcClass::fallbackObject):
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/objc/objc_runtime.mm:
              (JSC::Bindings::ObjcField::valueFromInstance):
              (JSC::Bindings::convertValueToObjcObject):
              (JSC::Bindings::ObjcField::setValueToInstance):
              (JSC::Bindings::ObjcArray::setValueAt):
              (JSC::Bindings::ObjcArray::valueAt):
              (JSC::Bindings::ObjcFallbackObjectImp::put):
              (JSC::Bindings::callObjCFallbackObject):
              (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertValueToObjcValue):
              (JSC::Bindings::convertNSStringToString):
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/runtime.h:
              (JSC::Bindings::Class::fallbackObject):
              (JSC::Bindings::Instance::setValueOfUndefinedField):
              (JSC::Bindings::Instance::invokeDefaultMethod):
              (JSC::Bindings::Instance::invokeConstruct):
              (JSC::Bindings::Instance::put):
              * bridge/runtime_array.cpp:
              (JSC::RuntimeArray::lengthGetter):
              (JSC::RuntimeArray::indexGetter):
              (JSC::RuntimeArray::put):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.cpp:
              (JSC::RuntimeMethod::lengthGetter):
              (JSC::callRuntimeMethod):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::fallbackObjectGetter):
              (JSC::RuntimeObjectImp::fieldGetter):
              (JSC::RuntimeObjectImp::methodGetter):
              (JSC::RuntimeObjectImp::put):
              (JSC::RuntimeObjectImp::defaultValue):
              (JSC::callRuntimeObject):
              (JSC::callRuntimeConstructor):
              * bridge/runtime_object.h:
              (JSC::RuntimeObjectImp::createStructure):
              * inspector/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::evaluate):
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfileNode.h:
      
      WebKit/mac:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * Plugins/Hosted/NetscapePluginInstanceProxy.h:
              * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
              (WebKit::NetscapePluginInstanceProxy::evaluate):
              (WebKit::NetscapePluginInstanceProxy::invoke):
              (WebKit::NetscapePluginInstanceProxy::invokeDefault):
              (WebKit::NetscapePluginInstanceProxy::construct):
              (WebKit::NetscapePluginInstanceProxy::getProperty):
              (WebKit::NetscapePluginInstanceProxy::setProperty):
              (WebKit::NetscapePluginInstanceProxy::hasMethod):
              (WebKit::NetscapePluginInstanceProxy::addValueToArray):
              (WebKit::NetscapePluginInstanceProxy::marshalValue):
              (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
              (WebKit::NetscapePluginInstanceProxy::demarshalValue):
              (WebKit::NetscapePluginInstanceProxy::demarshalValues):
              * Plugins/Hosted/ProxyInstance.h:
              * Plugins/Hosted/ProxyInstance.mm:
              (WebKit::ProxyField::valueFromInstance):
              (WebKit::ProxyField::setValueToInstance):
              (WebKit::ProxyInstance::invoke):
              (WebKit::ProxyInstance::invokeMethod):
              (WebKit::ProxyInstance::invokeDefaultMethod):
              (WebKit::ProxyInstance::invokeConstruct):
              (WebKit::ProxyInstance::defaultValue):
              (WebKit::ProxyInstance::stringValue):
              (WebKit::ProxyInstance::numberValue):
              (WebKit::ProxyInstance::booleanValue):
              (WebKit::ProxyInstance::valueOf):
              (WebKit::ProxyInstance::fieldValue):
              (WebKit::ProxyInstance::setFieldValue):
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
      
      WebKit/qt:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * Api/qwebelement.cpp:
              (setupScriptContext):
              (setupScriptObject):
              (QWebElement::evaluateScript):
              (QWebElement::functions):
              (QWebElement::scriptableProperty):
              (QWebElement::setScriptableProperty):
              (QWebElement::scriptableProperties):
      
      WebKit/win:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString):
      
      WebKit/wx:
      
      2009-05-01  Geoffrey Garen  <ggaren@apple.com>
      
              Rubber Stamped by Sam Weinig.
              
              Renamed JSValuePtr => JSValue.
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dc067b62
  15. 06 Jan, 2009 1 commit
    • barraclough@apple.com's avatar
      JavaScriptCore: · b9ad540d
      barraclough@apple.com authored
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Reviewed by Oliver Hunt.
      
              Replace all uses of JSValue* with a new smart pointer type, JSValuePtr.
              
              A JavaScript value may be a heap object or boxed primitive, represented by a
              pointer, or may be an unboxed immediate value, such as an integer.  Since a
              value may dynamically need to contain either a pointer value or an immediate,
              we encode immediates as pointer values (since all valid JSCell pointers are
              allocated at alligned addesses, unaligned addresses are available to encode
              immediates).  As such all JavaScript values are represented using a JSValue*.
      
              This implementation is encumbered by a number of constraints.  It ties the
              JSValue representation to the size of pointer on the platform, which, for
              example, means that we currently can represent different ranges of integers
              as immediates on x86 and x86-64.  It also prevents us from overloading the
              to-boolean conversion used to test for noValue() - effectively forcing us
              to represent noValue() as 0.  This would potentially be problematic were we
              to wish to encode integer values differently (e.g. were we to use the v8
              encoding, where pointers are tagged with 1 and integers with 0, then the
              immediate integer 0 would conflict with noValue()).
      
              This patch replaces all usage of JSValue* with a new class, JSValuePtr,
              which encapsulates the pointer.  JSValuePtr maintains the same interface as
              JSValue*, overloading operator-> and operator bool such that previous
              operations in the code on variables of type JSValue* are still supported.
      
              In order to provide a ProtectPtr<> type with support for the new value
              representation (without using the internal JSValue type directly), a new
              ProtectJSValuePtr type has been added, equivalent to the previous type
              ProtectPtr<JSValue>.
      
              This patch is likely the first in a sequence of three changes.  With the
              value now encapsulated it will likely make sense to migrate the functionality
              from JSValue into JSValuePtr, such that the internal pointer representation
              need not be exposed.  Through migrating the functionality to the wrapper
              class the existing JSValue should be rendered redundant, and the class is
              likely to be removed (the JSValuePtr now wrapping a pointer to a JSCell).
              At this stage it will likely make sense to rename JSValuePtr to JSValue.
      
              https://bugs.webkit.org/show_bug.cgi?id=23114
      
              * API/APICast.h:
              (toJS):
              (toRef):
              * API/JSBase.cpp:
              (JSEvaluateScript):
              * API/JSCallbackConstructor.h:
              (JSC::JSCallbackConstructor::createStructure):
              * API/JSCallbackFunction.cpp:
              (JSC::JSCallbackFunction::call):
              * API/JSCallbackFunction.h:
              (JSC::JSCallbackFunction::createStructure):
              * API/JSCallbackObject.h:
              (JSC::JSCallbackObject::createStructure):
              * API/JSCallbackObjectFunctions.h:
              (JSC::::asCallbackObject):
              (JSC::::put):
              (JSC::::hasInstance):
              (JSC::::call):
              (JSC::::staticValueGetter):
              (JSC::::staticFunctionGetter):
              (JSC::::callbackGetter):
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              (JSObjectMakeConstructor):
              (JSObjectSetPrototype):
              (JSObjectGetProperty):
              (JSObjectSetProperty):
              (JSObjectGetPropertyAtIndex):
              (JSObjectSetPropertyAtIndex):
              * API/JSValueRef.cpp:
              (JSValueGetType):
              (JSValueIsUndefined):
              (JSValueIsNull):
              (JSValueIsBoolean):
              (JSValueIsNumber):
              (JSValueIsString):
              (JSValueIsObject):
              (JSValueIsObjectOfClass):
              (JSValueIsEqual):
              (JSValueIsStrictEqual):
              (JSValueIsInstanceOfConstructor):
              (JSValueToBoolean):
              (JSValueToNumber):
              (JSValueToStringCopy):
              (JSValueToObject):
              (JSValueProtect):
              (JSValueUnprotect):
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::valueToSourceString):
              (JSC::constantName):
              (JSC::CodeBlock::dump):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::getConstant):
              (JSC::CodeBlock::addUnexpectedConstant):
              (JSC::CodeBlock::unexpectedConstant):
              * bytecode/EvalCodeCache.h:
              (JSC::EvalCodeCache::get):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::BytecodeGenerator):
              (JSC::BytecodeGenerator::addConstant):
              (JSC::BytecodeGenerator::addUnexpectedConstant):
              (JSC::BytecodeGenerator::emitLoad):
              (JSC::BytecodeGenerator::emitLoadJSV):
              (JSC::BytecodeGenerator::emitGetScopedVar):
              (JSC::BytecodeGenerator::emitPutScopedVar):
              (JSC::BytecodeGenerator::emitNewError):
              (JSC::keyForImmediateSwitch):
              * bytecompiler/BytecodeGenerator.h:
              (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
              (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
              * debugger/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::evaluate):
              * debugger/DebuggerCallFrame.h:
              (JSC::DebuggerCallFrame::DebuggerCallFrame):
              (JSC::DebuggerCallFrame::exception):
              * interpreter/CallFrame.cpp:
              (JSC::CallFrame::thisValue):
              * interpreter/CallFrame.h:
              (JSC::ExecState::setException):
              (JSC::ExecState::exception):
              (JSC::ExecState::exceptionSlot):
              (JSC::ExecState::hadException):
              * interpreter/Interpreter.cpp:
              (JSC::fastIsNumber):
              (JSC::fastToInt32):
              (JSC::fastToUInt32):
              (JSC::jsLess):
              (JSC::jsLessEq):
              (JSC::jsAddSlowCase):
              (JSC::jsAdd):
              (JSC::jsTypeStringForValue):
              (JSC::jsIsObjectType):
              (JSC::jsIsFunctionType):
              (JSC::Interpreter::resolve):
              (JSC::Interpreter::resolveSkip):
              (JSC::Interpreter::resolveGlobal):
              (JSC::inlineResolveBase):
              (JSC::Interpreter::resolveBase):
              (JSC::Interpreter::resolveBaseAndProperty):
              (JSC::Interpreter::resolveBaseAndFunc):
              (JSC::isNotObject):
              (JSC::Interpreter::callEval):
              (JSC::Interpreter::unwindCallFrame):
              (JSC::Interpreter::throwException):
              (JSC::Interpreter::execute):
              (JSC::Interpreter::checkTimeout):
              (JSC::Interpreter::createExceptionScope):
              (JSC::cachePrototypeChain):
              (JSC::Interpreter::tryCachePutByID):
              (JSC::countPrototypeChainEntriesAndCheckForProxies):
              (JSC::Interpreter::tryCacheGetByID):
              (JSC::Interpreter::privateExecute):
              (JSC::Interpreter::retrieveArguments):
              (JSC::Interpreter::retrieveCaller):
              (JSC::Interpreter::retrieveLastCaller):
              (JSC::Interpreter::tryCTICachePutByID):
              (JSC::Interpreter::tryCTICacheGetByID):
              (JSC::returnToThrowTrampoline):
              (JSC::Interpreter::cti_op_convert_this):
              (JSC::Interpreter::cti_op_add):
              (JSC::Interpreter::cti_op_pre_inc):
              (JSC::Interpreter::cti_op_loop_if_less):
              (JSC::Interpreter::cti_op_loop_if_lesseq):
              (JSC::Interpreter::cti_op_get_by_id_generic):
              (JSC::Interpreter::cti_op_get_by_id):
              (JSC::Interpreter::cti_op_get_by_id_second):
              (JSC::Interpreter::cti_op_get_by_id_self_fail):
              (JSC::Interpreter::cti_op_get_by_id_proto_list):
              (JSC::Interpreter::cti_op_get_by_id_proto_list_full):
              (JSC::Interpreter::cti_op_get_by_id_proto_fail):
              (JSC::Interpreter::cti_op_get_by_id_array_fail):
              (JSC::Interpreter::cti_op_get_by_id_string_fail):
              (JSC::Interpreter::cti_op_instanceof):
              (JSC::Interpreter::cti_op_del_by_id):
              (JSC::Interpreter::cti_op_mul):
              (JSC::Interpreter::cti_op_call_NotJSFunction):
              (JSC::Interpreter::cti_op_resolve):
              (JSC::Interpreter::cti_op_construct_NotJSConstruct):
              (JSC::Interpreter::cti_op_get_by_val):
              (JSC::Interpreter::cti_op_resolve_func):
              (JSC::Interpreter::cti_op_sub):
              (JSC::Interpreter::cti_op_put_by_val):
              (JSC::Interpreter::cti_op_put_by_val_array):
              (JSC::Interpreter::cti_op_lesseq):
              (JSC::Interpreter::cti_op_loop_if_true):
              (JSC::Interpreter::cti_op_negate):
              (JSC::Interpreter::cti_op_resolve_base):
              (JSC::Interpreter::cti_op_resolve_skip):
              (JSC::Interpreter::cti_op_resolve_global):
              (JSC::Interpreter::cti_op_div):
              (JSC::Interpreter::cti_op_pre_dec):
              (JSC::Interpreter::cti_op_jless):
              (JSC::Interpreter::cti_op_not):
              (JSC::Interpreter::cti_op_jtrue):
              (JSC::Interpreter::cti_op_post_inc):
              (JSC::Interpreter::cti_op_eq):
              (JSC::Interpreter::cti_op_lshift):
              (JSC::Interpreter::cti_op_bitand):
              (JSC::Interpreter::cti_op_rshift):
              (JSC::Interpreter::cti_op_bitnot):
              (JSC::Interpreter::cti_op_resolve_with_base):
              (JSC::Interpreter::cti_op_mod):
              (JSC::Interpreter::cti_op_less):
              (JSC::Interpreter::cti_op_neq):
              (JSC::Interpreter::cti_op_post_dec):
              (JSC::Interpreter::cti_op_urshift):
              (JSC::Interpreter::cti_op_bitxor):
              (JSC::Interpreter::cti_op_bitor):
              (JSC::Interpreter::cti_op_call_eval):
              (JSC::Interpreter::cti_op_throw):
              (JSC::Interpreter::cti_op_next_pname):
              (JSC::Interpreter::cti_op_typeof):
              (JSC::Interpreter::cti_op_is_undefined):
              (JSC::Interpreter::cti_op_is_boolean):
              (JSC::Interpreter::cti_op_is_number):
              (JSC::Interpreter::cti_op_is_string):
              (JSC::Interpreter::cti_op_is_object):
              (JSC::Interpreter::cti_op_is_function):
              (JSC::Interpreter::cti_op_stricteq):
              (JSC::Interpreter::cti_op_nstricteq):
              (JSC::Interpreter::cti_op_to_jsnumber):
              (JSC::Interpreter::cti_op_in):
              (JSC::Interpreter::cti_op_switch_imm):
              (JSC::Interpreter::cti_op_switch_char):
              (JSC::Interpreter::cti_op_switch_string):
              (JSC::Interpreter::cti_op_del_by_val):
              (JSC::Interpreter::cti_op_new_error):
              (JSC::Interpreter::cti_vm_throw):
              * interpreter/Interpreter.h:
              (JSC::Interpreter::isJSArray):
              (JSC::Interpreter::isJSString):
              * interpreter/Register.h:
              (JSC::Register::):
              (JSC::Register::Register):
              (JSC::Register::jsValue):
              (JSC::Register::getJSValue):
              * jit/JIT.cpp:
              (JSC::):
              (JSC::JIT::compileOpStrictEq):
              (JSC::JIT::privateCompileMainPass):
              (JSC::JIT::privateCompileSlowCases):
              * jit/JIT.h:
              (JSC::):
              (JSC::JIT::execute):
              * jit/JITArithmetic.cpp:
              (JSC::JIT::compileFastArith_op_rshift):
              (JSC::JIT::compileFastArithSlow_op_rshift):
              * jit/JITCall.cpp:
              (JSC::JIT::unlinkCall):
              (JSC::JIT::compileOpCallInitializeCallFrame):
              (JSC::JIT::compileOpCall):
              * jit/JITInlineMethods.h:
              (JSC::JIT::emitGetVirtualRegister):
              (JSC::JIT::getConstantOperand):
              (JSC::JIT::isOperandConstant31BitImmediateInt):
              (JSC::JIT::emitPutJITStubArgFromVirtualRegister):
              (JSC::JIT::emitInitRegister):
              * jit/JITPropertyAccess.cpp:
              (JSC::resizePropertyStorage):
              (JSC::JIT::privateCompilePutByIdTransition):
              (JSC::JIT::patchGetByIdSelf):
              (JSC::JIT::patchPutByIdReplace):
              (JSC::JIT::privateCompileGetByIdSelf):
              (JSC::JIT::privateCompileGetByIdProto):
              (JSC::JIT::privateCompileGetByIdSelfList):
              (JSC::JIT::privateCompileGetByIdProtoList):
              (JSC::JIT::privateCompileGetByIdChainList):
              (JSC::JIT::privateCompileGetByIdChain):
              (JSC::JIT::privateCompilePutByIdReplace):
              * jsc.cpp:
              (functionPrint):
              (functionDebug):
              (functionGC):
              (functionVersion):
              (functionRun):
              (functionLoad):
              (functionReadline):
              (functionQuit):
              * parser/Nodes.cpp:
              (JSC::NullNode::emitBytecode):
              (JSC::ArrayNode::emitBytecode):
              (JSC::FunctionCallValueNode::emitBytecode):
              (JSC::FunctionCallResolveNode::emitBytecode):
              (JSC::VoidNode::emitBytecode):
              (JSC::ConstDeclNode::emitCodeSingle):
              (JSC::ReturnNode::emitBytecode):
              (JSC::processClauseList):
              (JSC::EvalNode::emitBytecode):
              (JSC::FunctionBodyNode::emitBytecode):
              (JSC::ProgramNode::emitBytecode):
              * profiler/ProfileGenerator.cpp:
              (JSC::ProfileGenerator::addParentForConsoleStart):
              * profiler/Profiler.cpp:
              (JSC::Profiler::willExecute):
              (JSC::Profiler::didExecute):
              (JSC::Profiler::createCallIdentifier):
              * profiler/Profiler.h:
              * runtime/ArgList.cpp:
              (JSC::ArgList::slowAppend):
              * runtime/ArgList.h:
              (JSC::ArgList::at):
              (JSC::ArgList::append):
              * runtime/Arguments.cpp:
              (JSC::Arguments::put):
              * runtime/Arguments.h:
              (JSC::Arguments::createStructure):
              (JSC::asArguments):
              * runtime/ArrayConstructor.cpp:
              (JSC::callArrayConstructor):
              * runtime/ArrayPrototype.cpp:
              (JSC::getProperty):
              (JSC::putProperty):
              (JSC::arrayProtoFuncToString):
              (JSC::arrayProtoFuncToLocaleString):
              (JSC::arrayProtoFuncJoin):
              (JSC::arrayProtoFuncConcat):
              (JSC::arrayProtoFuncPop):
              (JSC::arrayProtoFuncPush):
              (JSC::arrayProtoFuncReverse):
              (JSC::arrayProtoFuncShift):
              (JSC::arrayProtoFuncSlice):
              (JSC::arrayProtoFuncSort):
              (JSC::arrayProtoFuncSplice):
              (JSC::arrayProtoFuncUnShift):
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncMap):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncForEach):
              (JSC::arrayProtoFuncSome):
              (JSC::arrayProtoFuncIndexOf):
              (JSC::arrayProtoFuncLastIndexOf):
              * runtime/BooleanConstructor.cpp:
              (JSC::callBooleanConstructor):
              (JSC::constructBooleanFromImmediateBoolean):
              * runtime/BooleanConstructor.h:
              * runtime/BooleanObject.h:
              (JSC::asBooleanObject):
              * runtime/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString):
              (JSC::booleanProtoFuncValueOf):
              * runtime/CallData.cpp:
              (JSC::call):
              * runtime/CallData.h:
              * runtime/Collector.cpp:
              (JSC::Heap::protect):
              (JSC::Heap::unprotect):
              (JSC::Heap::heap):
              (JSC::Heap::collect):
              * runtime/Collector.h:
              * runtime/Completion.cpp:
              (JSC::evaluate):
              * runtime/Completion.h:
              (JSC::Completion::Completion):
              (JSC::Completion::value):
              (JSC::Completion::setValue):
              (JSC::Completion::isValueCompletion):
              * runtime/ConstructData.cpp:
              (JSC::construct):
              * runtime/ConstructData.h:
              * runtime/DateConstructor.cpp:
              (JSC::constructDate):
              (JSC::callDate):
              (JSC::dateParse):
              (JSC::dateNow):
              (JSC::dateUTC):
              * runtime/DateInstance.h:
              (JSC::asDateInstance):
              * runtime/DatePrototype.cpp:
              (JSC::dateProtoFuncToString):
              (JSC::dateProtoFuncToUTCString):
              (JSC::dateProtoFuncToDateString):
              (JSC::dateProtoFuncToTimeString):
              (JSC::dateProtoFuncToLocaleString):
              (JSC::dateProtoFuncToLocaleDateString):
              (JSC::dateProtoFuncToLocaleTimeString):
              (JSC::dateProtoFuncValueOf):
              (JSC::dateProtoFuncGetTime):
              (JSC::dateProtoFuncGetFullYear):
              (JSC::dateProtoFuncGetUTCFullYear):
              (JSC::dateProtoFuncToGMTString):
              (JSC::dateProtoFuncGetMonth):
              (JSC::dateProtoFuncGetUTCMonth):
              (JSC::dateProtoFuncGetDate):
              (JSC::dateProtoFuncGetUTCDate):
              (JSC::dateProtoFuncGetDay):
              (JSC::dateProtoFuncGetUTCDay):
              (JSC::dateProtoFuncGetHours):
              (JSC::dateProtoFuncGetUTCHours):
              (JSC::dateProtoFuncGetMinutes):
              (JSC::dateProtoFuncGetUTCMinutes):
              (JSC::dateProtoFuncGetSeconds):
              (JSC::dateProtoFuncGetUTCSeconds):
              (JSC::dateProtoFuncGetMilliSeconds):
              (JSC::dateProtoFuncGetUTCMilliseconds):
              (JSC::dateProtoFuncGetTimezoneOffset):
              (JSC::dateProtoFuncSetTime):
              (JSC::setNewValueFromTimeArgs):
              (JSC::setNewValueFromDateArgs):
              (JSC::dateProtoFuncSetMilliSeconds):
              (JSC::dateProtoFuncSetUTCMilliseconds):
              (JSC::dateProtoFuncSetSeconds):
              (JSC::dateProtoFuncSetUTCSeconds):
              (JSC::dateProtoFuncSetMinutes):
              (JSC::dateProtoFuncSetUTCMinutes):
              (JSC::dateProtoFuncSetHours):
              (JSC::dateProtoFuncSetUTCHours):
              (JSC::dateProtoFuncSetDate):
              (JSC::dateProtoFuncSetUTCDate):
              (JSC::dateProtoFuncSetMonth):
              (JSC::dateProtoFuncSetUTCMonth):
              (JSC::dateProtoFuncSetFullYear):
              (JSC::dateProtoFuncSetUTCFullYear):
              (JSC::dateProtoFuncSetYear):
              (JSC::dateProtoFuncGetYear):
              * runtime/DatePrototype.h:
              (JSC::DatePrototype::createStructure):
              * runtime/ErrorConstructor.cpp:
              (JSC::callErrorConstructor):
              * runtime/ErrorPrototype.cpp:
              (JSC::errorProtoFuncToString):
              * runtime/ExceptionHelpers.cpp:
              (JSC::createInterruptedExecutionException):
              (JSC::createError):
              (JSC::createStackOverflowError):
              (JSC::createUndefinedVariableError):
              (JSC::createErrorMessage):
              (JSC::createInvalidParamError):
              (JSC::createNotAConstructorError):
              (JSC::createNotAFunctionError):
              * runtime/ExceptionHelpers.h:
              * runtime/FunctionConstructor.cpp:
              (JSC::callFunctionConstructor):
              * runtime/FunctionPrototype.cpp:
              (JSC::callFunctionPrototype):
              (JSC::functionProtoFuncToString):
              (JSC::functionProtoFuncApply):
              (JSC::functionProtoFuncCall):
              * runtime/FunctionPrototype.h:
              (JSC::FunctionPrototype::createStructure):
              * runtime/GetterSetter.cpp:
              (JSC::GetterSetter::toPrimitive):
              (JSC::GetterSetter::getPrimitiveNumber):
              * runtime/GetterSetter.h:
              (JSC::asGetterSetter):
              * runtime/InitializeThreading.cpp:
              * runtime/InternalFunction.h:
              (JSC::InternalFunction::createStructure):
              (JSC::asInternalFunction):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::getOwnPropertySlot):
              (JSC::JSActivation::put):
              (JSC::JSActivation::putWithAttributes):
              (JSC::JSActivation::argumentsGetter):
              * runtime/JSActivation.h:
              (JSC::JSActivation::createStructure):
              (JSC::asActivation):
              * runtime/JSArray.cpp:
              (JSC::storageSize):
              (JSC::JSArray::JSArray):
              (JSC::JSArray::getOwnPropertySlot):
              (JSC::JSArray::put):
              (JSC::JSArray::putSlowCase):
              (JSC::JSArray::deleteProperty):
              (JSC::JSArray::getPropertyNames):
              (JSC::JSArray::setLength):
              (JSC::JSArray::pop):
              (JSC::JSArray::push):
              (JSC::JSArray::mark):
              (JSC::JSArray::sort):
              (JSC::JSArray::compactForSorting):
              (JSC::JSArray::checkConsistency):
              (JSC::constructArray):
              * runtime/JSArray.h:
              (JSC::JSArray::getIndex):
              (JSC::JSArray::setIndex):
              (JSC::JSArray::createStructure):
              (JSC::asArray):
              * runtime/JSCell.cpp:
              (JSC::JSCell::put):
              (JSC::JSCell::getJSNumber):
              * runtime/JSCell.h:
              (JSC::asCell):
              (JSC::JSValue::asCell):
              (JSC::JSValue::toPrimitive):
              (JSC::JSValue::getPrimitiveNumber):
              (JSC::JSValue::getJSNumber):
              * runtime/JSFunction.cpp:
              (JSC::JSFunction::call):
              (JSC::JSFunction::argumentsGetter):
              (JSC::JSFunction::callerGetter):
              (JSC::JSFunction::lengthGetter):
              (JSC::JSFunction::getOwnPropertySlot):
              (JSC::JSFunction::put):
              (JSC::JSFunction::construct):
              * runtime/JSFunction.h:
              (JSC::JSFunction::createStructure):
              (JSC::asFunction):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::markIfNeeded):
              (JSC::JSGlobalObject::put):
              (JSC::JSGlobalObject::putWithAttributes):
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::resetPrototype):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::createStructure):
              (JSC::JSGlobalObject::GlobalPropertyInfo::GlobalPropertyInfo):
              (JSC::asGlobalObject):
              (JSC::Structure::prototypeForLookup):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::encode):
              (JSC::decode):
              (JSC::globalFuncEval):
              (JSC::globalFuncParseInt):
              (JSC::globalFuncParseFloat):
              (JSC::globalFuncIsNaN):
              (JSC::globalFuncIsFinite):
              (JSC::globalFuncDecodeURI):
              (JSC::globalFuncDecodeURIComponent):
              (JSC::globalFuncEncodeURI):
              (JSC::globalFuncEncodeURIComponent):
              (JSC::globalFuncEscape):
              (JSC::globalFuncUnescape):
              (JSC::globalFuncJSCPrint):
              * runtime/JSGlobalObjectFunctions.h:
              * runtime/JSImmediate.cpp:
              (JSC::JSImmediate::toThisObject):
              (JSC::JSImmediate::toObject):
              (JSC::JSImmediate::prototype):
              (JSC::JSImmediate::toString):
              * runtime/JSImmediate.h:
              (JSC::JSImmediate::isImmediate):
              (JSC::JSImmediate::isNumber):
              (JSC::JSImmediate::isPositiveNumber):
              (JSC::JSImmediate::isBoolean):
              (JSC::JSImmediate::isUndefinedOrNull):
              (JSC::JSImmediate::isNegative):
              (JSC::JSImmediate::isEitherImmediate):
              (JSC::JSImmediate::isAnyImmediate):
              (JSC::JSImmediate::areBothImmediate):
              (JSC::JSImmediate::areBothImmediateNumbers):
              (JSC::JSImmediate::andImmediateNumbers):
              (JSC::JSImmediate::xorImmediateNumbers):
              (JSC::JSImmediate::orImmediateNumbers):
              (JSC::JSImmediate::rightShiftImmediateNumbers):
              (JSC::JSImmediate::canDoFastAdditiveOperations):
              (JSC::JSImmediate::addImmediateNumbers):
              (JSC::JSImmediate::subImmediateNumbers):
              (JSC::JSImmediate::incImmediateNumber):
              (JSC::JSImmediate::decImmediateNumber):
              (JSC::JSImmediate::makeValue):
              (JSC::JSImmediate::makeInt):
              (JSC::JSImmediate::makeBool):
              (JSC::JSImmediate::makeUndefined):
              (JSC::JSImmediate::makeNull):
              (JSC::JSImmediate::intValue):
              (JSC::JSImmediate::uintValue):
              (JSC::JSImmediate::boolValue):
              (JSC::JSImmediate::rawValue):
              (JSC::JSImmediate::trueImmediate):
              (JSC::JSImmediate::falseImmediate):
              (JSC::JSImmediate::undefinedImmediate):
              (JSC::JSImmediate::nullImmediate):
              (JSC::JSImmediate::zeroImmediate):
              (JSC::JSImmediate::oneImmediate):
              (JSC::JSImmediate::impossibleValue):
              (JSC::JSImmediate::toBoolean):
              (JSC::JSImmediate::getTruncatedUInt32):
              (JSC::JSImmediate::from):
              (JSC::JSImmediate::getTruncatedInt32):
              (JSC::JSImmediate::toDouble):
              (JSC::JSImmediate::getUInt32):
              (JSC::jsNull):
              (JSC::jsBoolean):
              (JSC::jsUndefined):
              (JSC::JSValue::isUndefined):
              (JSC::JSValue::isNull):
              (JSC::JSValue::isUndefinedOrNull):
              (JSC::JSValue::isBoolean):
              (JSC::JSValue::getBoolean):
              (JSC::JSValue::toInt32):
              (JSC::JSValue::toUInt32):
              (JSC::toInt32):
              (JSC::toUInt32):
              * runtime/JSNotAnObject.cpp:
              (JSC::JSNotAnObject::toPrimitive):
              (JSC::JSNotAnObject::getPrimitiveNumber):
              (JSC::JSNotAnObject::put):
              * runtime/JSNotAnObject.h:
              (JSC::JSNotAnObject::createStructure):
              * runtime/JSNumberCell.cpp:
              (JSC::JSNumberCell::toPrimitive):
              (JSC::JSNumberCell::getPrimitiveNumber):
              (JSC::JSNumberCell::getJSNumber):
              (JSC::jsNumberCell):
              (JSC::jsNaN):
              * runtime/JSNumberCell.h:
              (JSC::JSNumberCell::createStructure):
              (JSC::asNumberCell):
              (JSC::jsNumber):
              (JSC::JSValue::toJSNumber):
              * runtime/JSObject.cpp:
              (JSC::JSObject::mark):
              (JSC::JSObject::put):
              (JSC::JSObject::putWithAttributes):
              (JSC::callDefaultValueFunction):
              (JSC::JSObject::getPrimitiveNumber):
              (JSC::JSObject::defaultValue):
              (JSC::JSObject::defineGetter):
              (JSC::JSObject::defineSetter):
              (JSC::JSObject::lookupGetter):
              (JSC::JSObject::lookupSetter):
              (JSC::JSObject::hasInstance):
              (JSC::JSObject::toNumber):
              (JSC::JSObject::toString):
              (JSC::JSObject::fillGetterPropertySlot):
              * runtime/JSObject.h:
              (JSC::JSObject::getDirect):
              (JSC::JSObject::getDirectLocation):
              (JSC::JSObject::offsetForLocation):
              (JSC::JSObject::locationForOffset):
              (JSC::JSObject::getDirectOffset):
              (JSC::JSObject::putDirectOffset):
              (JSC::JSObject::createStructure):
              (JSC::asObject):
              (JSC::JSObject::prototype):
              (JSC::JSObject::setPrototype):
              (JSC::JSObject::inlineGetOwnPropertySlot):
              (JSC::JSObject::getOwnPropertySlotForWrite):
              (JSC::JSObject::getPropertySlot):
              (JSC::JSObject::get):
              (JSC::JSObject::putDirect):
              (JSC::JSObject::putDirectWithoutTransition):
              (JSC::JSObject::toPrimitive):
              (JSC::JSValue::get):
              (JSC::JSValue::put):
              (JSC::JSObject::allocatePropertyStorageInline):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::toPrimitive):
              (JSC::JSPropertyNameIterator::getPrimitiveNumber):
              * runtime/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::create):
              (JSC::JSPropertyNameIterator::next):
              * runtime/JSStaticScopeObject.cpp:
              (JSC::JSStaticScopeObject::put):
              (JSC::JSStaticScopeObject::putWithAttributes):
              * runtime/JSStaticScopeObject.h:
              (JSC::JSStaticScopeObject::JSStaticScopeObject):
              (JSC::JSStaticScopeObject::createStructure):
              * runtime/JSString.cpp:
              (JSC::JSString::toPrimitive):
              (JSC::JSString::getPrimitiveNumber):
              (JSC::JSString::getOwnPropertySlot):
              * runtime/JSString.h:
              (JSC::JSString::createStructure):
              (JSC::asString):
              * runtime/JSValue.h:
              (JSC::JSValuePtr::makeImmediate):
              (JSC::JSValuePtr::immediateValue):
              (JSC::JSValuePtr::JSValuePtr):
              (JSC::JSValuePtr::operator->):
              (JSC::JSValuePtr::hasValue):
              (JSC::JSValuePtr::operator==):
              (JSC::JSValuePtr::operator!=):
              (JSC::JSValuePtr::encode):
              (JSC::JSValuePtr::decode):
              (JSC::JSValue::asValue):
              (JSC::noValue):
              (JSC::operator==):
              (JSC::operator!=):
              * runtime/JSVariableObject.h:
              (JSC::JSVariableObject::symbolTablePut):
              (JSC::JSVariableObject::symbolTablePutWithAttributes):
              * runtime/JSWrapperObject.cpp:
              (JSC::JSWrapperObject::mark):
              * runtime/JSWrapperObject.h:
              (JSC::JSWrapperObject::internalValue):
              (JSC::JSWrapperObject::setInternalValue):
              * runtime/Lookup.cpp:
              (JSC::setUpStaticFunctionSlot):
              * runtime/Lookup.h:
              (JSC::lookupPut):
              * runtime/MathObject.cpp:
              (JSC::mathProtoFuncAbs):
              (JSC::mathProtoFuncACos):
              (JSC::mathProtoFuncASin):
              (JSC::mathProtoFuncATan):
              (JSC::mathProtoFuncATan2):
              (JSC::mathProtoFuncCeil):
              (JSC::mathProtoFuncCos):
              (JSC::mathProtoFuncExp):
              (JSC::mathProtoFuncFloor):
              (JSC::mathProtoFuncLog):
              (JSC::mathProtoFuncMax):
              (JSC::mathProtoFuncMin):
              (JSC::mathProtoFuncPow):
              (JSC::mathProtoFuncRandom):
              (JSC::mathProtoFuncRound):
              (JSC::mathProtoFuncSin):
              (JSC::mathProtoFuncSqrt):
              (JSC::mathProtoFuncTan):
              * runtime/MathObject.h:
              (JSC::MathObject::createStructure):
              * runtime/NativeErrorConstructor.cpp:
              (JSC::callNativeErrorConstructor):
              * runtime/NumberConstructor.cpp:
              (JSC::numberConstructorNaNValue):
              (JSC::numberConstructorNegInfinity):
              (JSC::numberConstructorPosInfinity):
              (JSC::numberConstructorMaxValue):
              (JSC::numberConstructorMinValue):
              (JSC::callNumberConstructor):
              * runtime/NumberConstructor.h:
              (JSC::NumberConstructor::createStructure):
              * runtime/NumberObject.cpp:
              (JSC::NumberObject::getJSNumber):
              (JSC::constructNumberFromImmediateNumber):
              * runtime/NumberObject.h:
              * runtime/NumberPrototype.cpp:
              (JSC::numberProtoFuncToString):
              (JSC::numberProtoFuncToLocaleString):
              (JSC::numberProtoFuncValueOf):
              (JSC::numberProtoFuncToFixed):
              (JSC::numberProtoFuncToExponential):
              (JSC::numberProtoFuncToPrecision):
              * runtime/ObjectConstructor.cpp:
              (JSC::constructObject):
              (JSC::callObjectConstructor):
              * runtime/ObjectPrototype.cpp:
              (JSC::objectProtoFuncValueOf):
              (JSC::objectProtoFuncHasOwnProperty):
              (JSC::objectProtoFuncIsPrototypeOf):
              (JSC::objectProtoFuncDefineGetter):
              (JSC::objectProtoFuncDefineSetter):
              (JSC::objectProtoFuncLookupGetter):
              (JSC::objectProtoFuncLookupSetter):
              (JSC::objectProtoFuncPropertyIsEnumerable):
              (JSC::objectProtoFuncToLocaleString):
              (JSC::objectProtoFuncToString):
              * runtime/ObjectPrototype.h:
              * runtime/Operations.cpp:
              (JSC::equal):
              (JSC::equalSlowCase):
              (JSC::strictEqual):
              (JSC::strictEqualSlowCase):
              (JSC::throwOutOfMemoryError):
              * runtime/Operations.h:
              (JSC::equalSlowCaseInline):
              (JSC::strictEqualSlowCaseInline):
              * runtime/PropertySlot.cpp:
              (JSC::PropertySlot::functionGetter):
              * runtime/PropertySlot.h:
              (JSC::PropertySlot::PropertySlot):
              (JSC::PropertySlot::getValue):
              (JSC::PropertySlot::putValue):
              (JSC::PropertySlot::setValueSlot):
              (JSC::PropertySlot::setValue):
              (JSC::PropertySlot::setCustom):
              (JSC::PropertySlot::setCustomIndex):
              (JSC::PropertySlot::slotBase):
              (JSC::PropertySlot::setBase):
              (JSC::PropertySlot::):
              * runtime/Protect.h:
              (JSC::gcProtect):
              (JSC::gcUnprotect):
              (JSC::ProtectedPtr::ProtectedPtr):
              (JSC::ProtectedPtr::operator JSValuePtr):
              (JSC::ProtectedJSValuePtr::ProtectedJSValuePtr):
              (JSC::ProtectedJSValuePtr::get):
              (JSC::ProtectedJSValuePtr::operator JSValuePtr):
              (JSC::ProtectedJSValuePtr::operator->):
              (JSC::::ProtectedPtr):
              (JSC::::~ProtectedPtr):
              (JSC::::operator):
              (JSC::ProtectedJSValuePtr::~ProtectedJSValuePtr):
              (JSC::ProtectedJSValuePtr::operator=):
              (JSC::operator==):
              (JSC::operator!=):
              * runtime/RegExpConstructor.cpp:
              (JSC::RegExpConstructor::getBackref):
              (JSC::RegExpConstructor::getLastParen):
              (JSC::RegExpConstructor::getLeftContext):
              (JSC::RegExpConstructor::getRightContext):
              (JSC::regExpConstructorDollar1):
              (JSC::regExpConstructorDollar2):
              (JSC::regExpConstructorDollar3):
              (JSC::regExpConstructorDollar4):
              (JSC::regExpConstructorDollar5):
              (JSC::regExpConstructorDollar6):
              (JSC::regExpConstructorDollar7):
              (JSC::regExpConstructorDollar8):
              (JSC::regExpConstructorDollar9):
              (JSC::regExpConstructorInput):
              (JSC::regExpConstructorMultiline):
              (JSC::regExpConstructorLastMatch):
              (JSC::regExpConstructorLastParen):
              (JSC::regExpConstructorLeftContext):
              (JSC::regExpConstructorRightContext):
              (JSC::RegExpConstructor::put):
              (JSC::setRegExpConstructorInput):
              (JSC::setRegExpConstructorMultiline):
              (JSC::constructRegExp):
              (JSC::callRegExpConstructor):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::createStructure):
              (JSC::asRegExpConstructor):
              * runtime/RegExpMatchesArray.h:
              (JSC::RegExpMatchesArray::put):
              * runtime/RegExpObject.cpp:
              (JSC::regExpObjectGlobal):
              (JSC::regExpObjectIgnoreCase):
              (JSC::regExpObjectMultiline):
              (JSC::regExpObjectSource):
              (JSC::regExpObjectLastIndex):
              (JSC::RegExpObject::put):
              (JSC::setRegExpObjectLastIndex):
              (JSC::RegExpObject::test):
              (JSC::RegExpObject::exec):
              (JSC::callRegExpObject):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::createStructure):
              (JSC::asRegExpObject):
              * runtime/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest):
              (JSC::regExpProtoFuncExec):
              (JSC::regExpProtoFuncCompile):
              (JSC::regExpProtoFuncToString):
              * runtime/StringConstructor.cpp:
              (JSC::stringFromCharCodeSlowCase):
              (JSC::stringFromCharCode):
              (JSC::callStringConstructor):
              * runtime/StringObject.cpp:
              (JSC::StringObject::put):
              * runtime/StringObject.h:
              (JSC::StringObject::createStructure):
              (JSC::asStringObject):
              * runtime/StringObjectThatMasqueradesAsUndefined.h:
              (JSC::StringObjectThatMasqueradesAsUndefined::createStructure):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncToString):
              (JSC::stringProtoFuncCharAt):
              (JSC::stringProtoFuncCharCodeAt):
              (JSC::stringProtoFuncConcat):
              (JSC::stringProtoFuncIndexOf):
              (JSC::stringProtoFuncLastIndexOf):
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncSlice):
              (JSC::stringProtoFuncSplit):
              (JSC::stringProtoFuncSubstr):
              (JSC::stringProtoFuncSubstring):
              (JSC::stringProtoFuncToLowerCase):
              (JSC::stringProtoFuncToUpperCase):
              (JSC::stringProtoFuncLocaleCompare):
              (JSC::stringProtoFuncBig):
              (JSC::stringProtoFuncSmall):
              (JSC::stringProtoFuncBlink):
              (JSC::stringProtoFuncBold):
              (JSC::stringProtoFuncFixed):
              (JSC::stringProtoFuncItalics):
              (JSC::stringProtoFuncStrike):
              (JSC::stringProtoFuncSub):
              (JSC::stringProtoFuncSup):
              (JSC::stringProtoFuncFontcolor):
              (JSC::stringProtoFuncFontsize):
              (JSC::stringProtoFuncAnchor):
              (JSC::stringProtoFuncLink):
              * runtime/Structure.cpp:
              (JSC::Structure::Structure):
              (JSC::Structure::changePrototypeTransition):
              (JSC::Structure::createCachedPrototypeChain):
              * runtime/Structure.h:
              (JSC::Structure::create):
              (JSC::Structure::setPrototypeWithoutTransition):
              (JSC::Structure::storedPrototype):
      
      JavaScriptGlue:
      
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Rubber Stamped by Oliver Hunt.
      
              Replace all uses of JSValue* with new wrapper class, JSValuePtr.
              See JavaScriptCore/ChangeLog for more detailed description.
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructure):
      
      WebCore:
      
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Rubber Stamped by Oliver Hunt.
      
              Replace all uses of JSValue* with new wrapper class, JSValuePtr.
              See JavaScriptCore/ChangeLog for more detailed description.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::setValue):
              * bindings/js/JSCSSRuleCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              (WebCore::JSCSSStyleDeclaration::nameGetter):
              (WebCore::JSCSSStyleDeclaration::customPut):
              * bindings/js/JSCSSValueCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSCanvasPixelArrayCustom.h:
              (WebCore::JSCanvasPixelArray::getByIndex):
              (WebCore::JSCanvasPixelArray::indexSetter):
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              (WebCore::toJS):
              (WebCore::toHTMLCanvasStyle):
              (WebCore::JSCanvasRenderingContext2D::strokeStyle):
              (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
              (WebCore::JSCanvasRenderingContext2D::fillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillStyle):
              (WebCore::JSCanvasRenderingContext2D::setFillColor):
              (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
              (WebCore::JSCanvasRenderingContext2D::strokeRect):
              (WebCore::JSCanvasRenderingContext2D::drawImage):
              (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
              (WebCore::JSCanvasRenderingContext2D::setShadow):
              (WebCore::JSCanvasRenderingContext2D::createPattern):
              (WebCore::JSCanvasRenderingContext2D::putImageData):
              (WebCore::JSCanvasRenderingContext2D::fillText):
              (WebCore::JSCanvasRenderingContext2D::strokeText):
              * 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::profiles):
              * bindings/js/JSCustomPositionCallback.cpp:
              (WebCore::JSCustomPositionCallback::handleEvent):
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              (WebCore::JSCustomPositionErrorCallback::handleEvent):
              * 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):
              (WebCore::toVoidCallback):
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::add):
              (WebCore::JSDOMApplicationCache::remove):
              (WebCore::JSDOMApplicationCache::addEventListener):
              (WebCore::JSDOMApplicationCache::removeEventListener):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsStringOrNull):
              (WebCore::jsOwnedStringOrNull):
              (WebCore::jsStringOrUndefined):
              (WebCore::jsStringOrFalse):
              (WebCore::valueToStringWithNullCheck):
              (WebCore::valueToStringWithUndefinedOrNullCheck):
              (WebCore::reportException):
              (WebCore::reportCurrentException):
              (WebCore::setDOMException):
              (WebCore::objectToStringFunctionGetter):
              * bindings/js/JSDOMBinding.h:
              (WebCore::getDOMObjectWrapper):
              (WebCore::getDOMNodeWrapper):
              (WebCore::toJS):
              * bindings/js/JSDOMGlobalObject.cpp:
              (WebCore::JSDOMGlobalObject::findJSEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
              (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
              (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
              * bindings/js/JSDOMGlobalObject.h:
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::createWindow):
              (WebCore::showModalDialog):
              (jsDOMWindowBaseCrypto):
              (jsDOMWindowBaseEvent):
              (jsDOMWindowBaseImage):
              (jsDOMWindowBaseMessageChannel):
              (jsDOMWindowBaseOption):
              (jsDOMWindowBaseXMLHttpRequest):
              (jsDOMWindowBaseAudio):
              (jsDOMWindowBaseWorker):
              (jsDOMWindowBaseXSLTProcessor):
              (setJSDOMWindowBaseEvent):
              (setJSDOMWindowBaseAudio):
              (setJSDOMWindowBaseImage):
              (setJSDOMWindowBaseMessageChannel):
              (setJSDOMWindowBaseOption):
              (setJSDOMWindowBaseWorker):
              (setJSDOMWindowBaseXMLHttpRequest):
              (setJSDOMWindowBaseXSLTProcessor):
              (WebCore::JSDOMWindowBase::childFrameGetter):
              (WebCore::JSDOMWindowBase::indexGetter):
              (WebCore::JSDOMWindowBase::namedItemGetter):
              (WebCore::JSDOMWindowBase::getOwnPropertySlot):
              (WebCore::JSDOMWindowBase::put):
              (WebCore::JSDOMWindowBase::clear):
              (windowProtoFuncOpen):
              (windowProtoFuncShowModalDialog):
              (windowProtoFuncNotImplemented):
              (WebCore::JSDOMWindowBase::setReturnValueSlot):
              (WebCore::JSDOMWindowBase::installTimeout):
              (WebCore::toJS):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::lookupGetter):
              (WebCore::JSDOMWindow::lookupSetter):
              (WebCore::JSDOMWindow::setLocation):
              (WebCore::JSDOMWindow::postMessage):
              (WebCore::setTimeoutOrInterval):
              (WebCore::JSDOMWindow::setTimeout):
              (WebCore::JSDOMWindow::clearTimeout):
              (WebCore::JSDOMWindow::setInterval):
              (WebCore::JSDOMWindow::clearInterval):
              (WebCore::JSDOMWindow::atob):
              (WebCore::JSDOMWindow::btoa):
              (WebCore::JSDOMWindow::addEventListener):
              (WebCore::JSDOMWindow::removeEventListener):
              (WebCore::toDOMWindow):
              (WebCore::nonCachingStaticCloseFunctionGetter):
              (WebCore::nonCachingStaticBlurFunctionGetter):
              (WebCore::nonCachingStaticFocusFunctionGetter):
              (WebCore::nonCachingStaticPostMessageFunctionGetter):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::JSDOMWindow::customPut):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::put):
              (WebCore::JSDOMWindowShell::putWithAttributes):
              (WebCore::JSDOMWindowShell::lookupGetter):
              (WebCore::JSDOMWindowShell::lookupSetter):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::createStructure):
              * bindings/js/JSDatabaseCustom.cpp:
              (WebCore::JSDatabase::changeVersion):
              (WebCore::JSDatabase::transaction):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::location):
              (WebCore::JSDocument::setLocation):
              (WebCore::toJS):
              * bindings/js/JSElementCustom.cpp:
              (WebCore::JSElement::setAttribute):
              (WebCore::JSElement::setAttributeNode):
              (WebCore::JSElement::setAttributeNS):
              (WebCore::JSElement::setAttributeNodeNS):
              (WebCore::toJSNewlyCreated):
              * bindings/js/JSEventCustom.cpp:
              (WebCore::JSEvent::clipboardData):
              (WebCore::toJS):
              * bindings/js/JSEventListener.cpp:
              (WebCore::JSAbstractEventListener::handleEvent):
              (WebCore::eventParameterName):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/JSEventTarget.cpp:
              (WebCore::toJS):
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSEventTargetNodeCustom.cpp:
              (WebCore::JSEventTargetNode::addEventListener):
              (WebCore::JSEventTargetNode::removeEventListener):
              * bindings/js/JSGeolocationCustom.cpp:
              (WebCore::createPositionOptions):
              (WebCore::JSGeolocation::getCurrentPosition):
              (WebCore::JSGeolocation::watchPosition):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::createStructure):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              (WebCore::JSHTMLAppletElement::customPut):
              (WebCore::JSHTMLAppletElement::nameGetter):
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::getNamedItems):
              (WebCore::callHTMLCollection):
              (WebCore::JSHTMLCollection::nameGetter):
              (WebCore::JSHTMLCollection::item):
              (WebCore::JSHTMLCollection::namedItem):
              (WebCore::toJS):
              * bindings/js/JSHTMLDocumentCustom.cpp:
              (WebCore::JSHTMLDocument::nameGetter):
              (WebCore::JSHTMLDocument::all):
              (WebCore::JSHTMLDocument::setAll):
              (WebCore::JSHTMLDocument::open):
              (WebCore::JSHTMLDocument::write):
              (WebCore::JSHTMLDocument::writeln):
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              (WebCore::JSHTMLEmbedElement::customPut):
              (WebCore::JSHTMLEmbedElement::nameGetter):
              * bindings/js/JSHTMLFormElementCustom.cpp:
              (WebCore::JSHTMLFormElement::nameGetter):
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              (WebCore::JSHTMLFrameElement::setSrc):
              (WebCore::JSHTMLFrameElement::setLocation):
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              (WebCore::JSHTMLFrameSetElement::nameGetter):
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              (WebCore::JSHTMLIFrameElement::setSrc):
              * bindings/js/JSHTMLInputElementCustom.cpp:
              (WebCore::JSHTMLInputElement::selectionStart):
              (WebCore::JSHTMLInputElement::selectionEnd):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              (WebCore::JSHTMLObjectElement::customPut):
              (WebCore::JSHTMLObjectElement::nameGetter):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              (WebCore::JSHTMLOptionsCollection::length):
              (WebCore::JSHTMLOptionsCollection::setLength):
              (WebCore::JSHTMLOptionsCollection::indexSetter):
              (WebCore::JSHTMLOptionsCollection::add):
              (WebCore::JSHTMLOptionsCollection::remove):
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::JSHTMLSelectElement::remove):
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              (WebCore::nonCachingStaticBackFunctionGetter):
              (WebCore::nonCachingStaticForwardFunctionGetter):
              (WebCore::nonCachingStaticGoFunctionGetter):
              (WebCore::JSHistory::customPut):
              * bindings/js/JSImageDataCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              (WebCore::JSInspectedObjectWrapper::wrap):
              (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              (WebCore::JSInspectorCallbackWrapper::wrap):
              (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              (WebCore::JSJavaScriptCallFrame::evaluate):
              (WebCore::JSJavaScriptCallFrame::thisObject):
              (WebCore::JSJavaScriptCallFrame::type):
              (WebCore::JSJavaScriptCallFrame::scopeChain):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::nonCachingStaticReplaceFunctionGetter):
              (WebCore::nonCachingStaticReloadFunctionGetter):
              (WebCore::nonCachingStaticAssignFunctionGetter):
              (WebCore::JSLocation::customPut):
              (WebCore::JSLocation::setHref):
              (WebCore::JSLocation::setProtocol):
              (WebCore::JSLocation::setHost):
              (WebCore::JSLocation::setHostname):
              (WebCore::JSLocation::setPort):
              (WebCore::JSLocation::setPathname):
              (WebCore::JSLocation::setSearch):
              (WebCore::JSLocation::setHash):
              (WebCore::JSLocation::replace):
              (WebCore::JSLocation::reload):
              (WebCore::JSLocation::assign):
              (WebCore::JSLocation::toString):
              * bindings/js/JSMessageChannelConstructor.h:
              * bindings/js/JSMessagePortCustom.cpp:
              (WebCore::JSMessagePort::startConversation):
              (WebCore::JSMessagePort::addEventListener):
              (WebCore::JSMessagePort::removeEventListener):
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              (WebCore::JSMimeTypeArray::nameGetter):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::nameGetter):
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::lengthGetter):
              (WebCore::JSNamedNodesCollection::indexGetter):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::createStructure):
              * bindings/js/JSNavigatorCustom.cpp:
              (WebCore::needsYouTubeQuirk):
              (WebCore::JSNavigator::appVersion):
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::insertBefore):
              (WebCore::JSNode::replaceChild):
              (WebCore::JSNode::removeChild):
              (WebCore::JSNode::appendChild):
              (WebCore::createWrapper):
              (WebCore::toJSNewlyCreated):
              (WebCore::toJS):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              (WebCore::JSNodeFilter::acceptNode):
              (WebCore::toNodeFilter):
              * bindings/js/JSNodeIteratorCustom.cpp:
              (WebCore::JSNodeIterator::nextNode):
              (WebCore::JSNodeIterator::previousNode):
              * bindings/js/JSNodeListCustom.cpp:
              (WebCore::callNodeList):
              (WebCore::JSNodeList::nameGetter):
              * bindings/js/JSPluginArrayCustom.cpp:
              (WebCore::JSPluginArray::nameGetter):
              * bindings/js/JSPluginCustom.cpp:
              (WebCore::JSPlugin::nameGetter):
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::runtimeObjectGetter):
              (WebCore::runtimeObjectPropertyGetter):
              (WebCore::runtimeObjectCustomPut):
              (WebCore::callPlugin):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::asWrapper):
              (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
              (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
              (WebCore::JSQuarantinedObjectWrapper::put):
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::hasInstance):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::createStructure):
              * bindings/js/JSRGBColor.cpp:
              (WebCore::getJSRGBColor):
              (jsRGBColorRed):
              (jsRGBColorGreen):
              (jsRGBColorBlue):
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::createStructure):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              (WebCore::JSSQLResultSetRowList::item):
              * bindings/js/JSSQLTransactionCustom.cpp:
              (WebCore::JSSQLTransaction::executeSql):
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::addEventListener):
              (WebCore::JSSVGElementInstance::removeEventListener):
              * bindings/js/JSSVGLengthCustom.cpp:
              (WebCore::JSSVGLength::value):
              (WebCore::JSSVGLength::convertToSpecifiedUnits):
              * 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/JSSVGPathSegCustom.cpp:
              (WebCore::toJS):
              * 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::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (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::finishGetter):
              (WebCore::finishSetter):
              (WebCore::finishSetterReadOnlyResult):
              (WebCore::JSSVGTransformList::clear):
              (WebCore::JSSVGTransformList::initialize):
              (WebCore::JSSVGTransformList::getItem):
              (WebCore::JSSVGTransformList::insertItemBefore):
              (WebCore::JSSVGTransformList::replaceItem):
              (WebCore::JSSVGTransformList::removeItem):
              (WebCore::JSSVGTransformList::appendItem):
              * bindings/js/JSStorageCustom.cpp:
              (WebCore::JSStorage::nameGetter):
              (WebCore::JSStorage::deleteProperty):
              (WebCore::JSStorage::customPut):
              * bindings/js/JSStyleSheetCustom.cpp:
              (WebCore::toJS):
              * bindings/js/JSStyleSheetListCustom.cpp:
              (WebCore::JSStyleSheetList::nameGetter):
              * bindings/js/JSTextCustom.cpp:
              (WebCore::toJSNewlyCreated):
              * 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/JSWorkerContextBase.cpp:
              (WebCore::JSWorkerContextBase::put):
              * bindings/js/JSWorkerContextBase.h:
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::self):
              (WebCore::JSWorkerContext::setSelf):
              (WebCore::JSWorkerContext::addEventListener):
              (WebCore::JSWorkerContext::removeEventListener):
              * bindings/js/JSWorkerCustom.cpp:
              (WebCore::JSWorker::addEventListener):
              (WebCore::JSWorker::removeEventListener):
              * 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::responseText):
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              (WebCore::JSXMLHttpRequestUpload::addEventListener):
              (WebCore::JSXMLHttpRequestUpload::removeEventListener):
              * 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/ScriptCallStack.cpp:
              (WebCore::ScriptCallStack::ScriptCallStack):
              (WebCore::ScriptCallStack::initialize):
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::createScriptObjectForPluginElement):
              * bindings/js/ScriptValue.cpp:
              (WebCore::ScriptValue::getString):
              (WebCore::ScriptValue::isNull):
              (WebCore::ScriptValue::isUndefined):
              * bindings/js/ScriptValue.h:
              (WebCore::ScriptValue::ScriptValue):
              (WebCore::ScriptValue::jsValue):
              * bindings/objc/WebScriptObject.mm:
              (-[WebScriptObject callWebScriptMethod:withArguments:]):
              (-[WebScriptObject evaluateWebScript:]):
              (-[WebScriptObject valueForKey:]):
              (-[WebScriptObject webScriptValueAtIndex:]):
              (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              (_NPN_InvokeDefault):
              (_NPN_Invoke):
              (_NPN_Evaluate):
              (_NPN_GetProperty):
              (_NPN_HasMethod):
              (_NPN_Construct):
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::invokeMethod):
              (JSC::Bindings::CInstance::invokeDefaultMethod):
              (JSC::Bindings::CInstance::invokeConstruct):
              (JSC::Bindings::CInstance::defaultValue):
              (JSC::Bindings::CInstance::stringValue):
              (JSC::Bindings::CInstance::numberValue):
              (JSC::Bindings::CInstance::booleanValue):
              (JSC::Bindings::CInstance::valueOf):
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              (JSC::Bindings::CField::valueFromInstance):
              (JSC::Bindings::CField::setValueToInstance):
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertValueToNPVariant):
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::stringValue):
              (JavaInstance::numberValue):
              (JavaInstance::booleanValue):
              (JavaInstance::invokeMethod):
              (JavaInstance::defaultValue):
              (JavaInstance::valueOf):
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::eval):
              (JavaJSObject::getMember):
              (JavaJSObject::getSlot):
              (JavaJSObject::convertValueToJObject):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              (JavaArray::convertJObjectToArray):
              (JavaField::dispatchValueFromInstance):
              (JavaField::valueFromInstance):
              (JavaField::dispatchSetValueToInstance):
              (JavaField::setValueToInstance):
              (JavaArray::setValueAt):
              (JavaArray::valueAt):
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              (JSC::Bindings::convertArrayInstanceToJavaArray):
              (JSC::Bindings::convertValueToJValue):
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              (JSC::Bindings::ObjcClass::fallbackObject):
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              (ObjcInstance::invokeDefaultMethod):
              (ObjcInstance::setValueOfUndefinedField):
              (ObjcInstance::getValueOfUndefinedField):
              (ObjcInstance::defaultValue):
              (ObjcInstance::stringValue):
              (ObjcInstance::numberValue):
              (ObjcInstance::booleanValue):
              (ObjcInstance::valueOf):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
              * bridge/objc/objc_runtime.mm:
              (JSC::Bindings::ObjcField::valueFromInstance):
              (JSC::Bindings::convertValueToObjcObject):
              (JSC::Bindings::ObjcField::setValueToInstance):
              (JSC::Bindings::ObjcArray::setValueAt):
              (JSC::Bindings::ObjcArray::valueAt):
              (JSC::Bindings::ObjcFallbackObjectImp::put):
              (JSC::Bindings::callObjCFallbackObject):
              (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertValueToObjcValue):
              (JSC::Bindings::convertNSStringToString):
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/runtime.cpp:
              (JSC::Bindings::Instance::getValueOfField):
              (JSC::Bindings::Instance::setValueOfField):
              * bridge/runtime.h:
              (JSC::Bindings::Class::fallbackObject):
              (JSC::Bindings::Instance::getValueOfUndefinedField):
              (JSC::Bindings::Instance::setValueOfUndefinedField):
              (JSC::Bindings::Instance::invokeDefaultMethod):
              (JSC::Bindings::Instance::invokeConstruct):
              (JSC::Bindings::Instance::valueOf):
              * bridge/runtime_array.cpp:
              (JSC::RuntimeArray::lengthGetter):
              (JSC::RuntimeArray::indexGetter):
              (JSC::RuntimeArray::put):
              * bridge/runtime_array.h:
              (JSC::RuntimeArray::createStructure):
              * bridge/runtime_method.cpp:
              (JSC::RuntimeMethod::lengthGetter):
              (JSC::callRuntimeMethod):
              * bridge/runtime_method.h:
              (JSC::RuntimeMethod::createStructure):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::fallbackObjectGetter):
              (JSC::RuntimeObjectImp::fieldGetter):
              (JSC::RuntimeObjectImp::methodGetter):
              (JSC::RuntimeObjectImp::put):
              (JSC::RuntimeObjectImp::defaultValue):
              (JSC::callRuntimeObject):
              (JSC::callRuntimeConstructor):
              * bridge/runtime_object.h:
              (JSC::RuntimeObjectImp::createStructure):
              * inspector/InspectorController.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::evaluate):
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              (WebCore::toJS):
              * inspector/JavaScriptProfileNode.h:
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::dropProtection):
      
      WebKit/mac:
      
      2009-01-05  Gavin Barraclough  <baraclough@apple.com>
      
              Rubber Stamped by Oliver Hunt.
      
              Replace all uses of JSValue* with new wrapper class, JSValuePtr.
              See JavaScriptCore/ChangeLog for more detailed description.
      
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b9ad540d
  16. 04 Nov, 2008 1 commit
    • cwzwarich@webkit.org's avatar
      2008-11-03 Cameron Zwarich <zwarich@apple.com> · b91210c0
      cwzwarich@webkit.org authored
              Rubber-stamped by Maciej Stachowiak.
      
              Move more files into the runtime subdirectory of JavaScriptCore.
      
              JavaScriptCore:
      
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.cpp:
              * API/JSCallbackFunction.cpp:
              * API/JSClassRef.cpp:
              * API/OpaqueJSString.cpp:
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              * kjs/ArgList.cpp: Removed.
              * kjs/ArgList.h: Removed.
              * kjs/Arguments.cpp: Removed.
              * kjs/Arguments.h: Removed.
              * kjs/BatchedTransitionOptimizer.h: Removed.
              * kjs/CollectorHeapIterator.h: Removed.
              * kjs/CommonIdentifiers.cpp: Removed.
              * kjs/CommonIdentifiers.h: Removed.
              * kjs/ExecState.cpp: Removed.
              * kjs/ExecState.h: Removed.
              * kjs/GetterSetter.cpp: Removed.
              * kjs/GetterSetter.h: Removed.
              * kjs/InitializeThreading.cpp: Removed.
              * kjs/InitializeThreading.h: Removed.
              * kjs/JSActivation.cpp: Removed.
              * kjs/JSActivation.h: Removed.
              * kjs/JSGlobalData.cpp: Removed.
              * kjs/JSGlobalData.h: Removed.
              * kjs/JSLock.cpp: Removed.
              * kjs/JSLock.h: Removed.
              * kjs/JSStaticScopeObject.cpp: Removed.
              * kjs/JSStaticScopeObject.h: Removed.
              * kjs/JSType.h: Removed.
              * kjs/PropertyNameArray.cpp: Removed.
              * kjs/PropertyNameArray.h: Removed.
              * kjs/ScopeChain.cpp: Removed.
              * kjs/ScopeChain.h: Removed.
              * kjs/ScopeChainMark.h: Removed.
              * kjs/SymbolTable.h: Removed.
              * kjs/Tracing.d: Removed.
              * kjs/Tracing.h: Removed.
              * runtime/ArgList.cpp: Copied from kjs/ArgList.cpp.
              * runtime/ArgList.h: Copied from kjs/ArgList.h.
              * runtime/Arguments.cpp: Copied from kjs/Arguments.cpp.
              * runtime/Arguments.h: Copied from kjs/Arguments.h.
              * runtime/BatchedTransitionOptimizer.h: Copied from kjs/BatchedTransitionOptimizer.h.
              * runtime/CollectorHeapIterator.h: Copied from kjs/CollectorHeapIterator.h.
              * runtime/CommonIdentifiers.cpp: Copied from kjs/CommonIdentifiers.cpp.
              * runtime/CommonIdentifiers.h: Copied from kjs/CommonIdentifiers.h.
              * runtime/ExecState.cpp: Copied from kjs/ExecState.cpp.
              * runtime/ExecState.h: Copied from kjs/ExecState.h.
              * runtime/GetterSetter.cpp: Copied from kjs/GetterSetter.cpp.
              * runtime/GetterSetter.h: Copied from kjs/GetterSetter.h.
              * runtime/InitializeThreading.cpp: Copied from kjs/InitializeThreading.cpp.
              * runtime/InitializeThreading.h: Copied from kjs/InitializeThreading.h.
              * runtime/JSActivation.cpp: Copied from kjs/JSActivation.cpp.
              * runtime/JSActivation.h: Copied from kjs/JSActivation.h.
              * runtime/JSGlobalData.cpp: Copied from kjs/JSGlobalData.cpp.
              * runtime/JSGlobalData.h: Copied from kjs/JSGlobalData.h.
              * runtime/JSLock.cpp: Copied from kjs/JSLock.cpp.
              * runtime/JSLock.h: Copied from kjs/JSLock.h.
              * runtime/JSStaticScopeObject.cpp: Copied from kjs/JSStaticScopeObject.cpp.
              * runtime/JSStaticScopeObject.h: Copied from kjs/JSStaticScopeObject.h.
              * runtime/JSType.h: Copied from kjs/JSType.h.
              * runtime/PropertyNameArray.cpp: Copied from kjs/PropertyNameArray.cpp.
              * runtime/PropertyNameArray.h: Copied from kjs/PropertyNameArray.h.
              * runtime/ScopeChain.cpp: Copied from kjs/ScopeChain.cpp.
              * runtime/ScopeChain.h: Copied from kjs/ScopeChain.h.
              * runtime/ScopeChainMark.h: Copied from kjs/ScopeChainMark.h.
              * runtime/SymbolTable.h: Copied from kjs/SymbolTable.h.
              * runtime/Tracing.d: Copied from kjs/Tracing.d.
              * runtime/Tracing.h: Copied from kjs/Tracing.h.
      
              WebCore:
      
              * ForwardingHeaders/kjs/ArgList.h: Removed.
              * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
              * ForwardingHeaders/kjs/ExecState.h: Removed.
              * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
              * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
              * ForwardingHeaders/kjs/JSLock.h: Removed.
              * ForwardingHeaders/kjs/SymbolTable.h: Removed.
              * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
              * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
              * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
              * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
              * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
              * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
              * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
              * bindings/js/GCController.cpp:
              * bindings/js/JSCustomPositionCallback.cpp:
              * bindings/js/JSCustomPositionErrorCallback.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptControllerMac.mm:
              * bindings/objc/WebScriptObject.mm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_class.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_utility.cpp:
              * bridge/jni/jni_class.cpp:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/npruntime.cpp:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.mm:
              * bridge/runtime.cpp:
              * dom/Document.cpp:
              * dom/Node.cpp:
              * dom/NodeFilter.cpp:
              * dom/NodeIterator.cpp:
              * dom/TreeWalker.cpp:
              * history/CachedPage.cpp:
              * inspector/InspectorController.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptDebugServer.cpp:
              * inspector/JavaScriptProfileNode.cpp:
              * loader/FrameLoader.cpp:
              * loader/icon/IconDatabase.cpp:
              * page/Console.cpp:
              * page/Page.cpp:
              * page/mac/FrameMac.mm:
              * plugins/PluginView.cpp:
              * plugins/gtk/PluginViewGtk.cpp:
              * plugins/qt/PluginViewQt.cpp:
              * plugins/win/PluginViewWin.cpp:
              * storage/Database.cpp:
              * xml/XMLHttpRequest.cpp:
      
              WebKit/gtk:
      
              * webkit/webkitprivate.cpp:
      
              WebKit/mac:
      
              * ForwardingHeaders/kjs/JSLock.h: Removed.
              * ForwardingHeaders/kjs/SymbolTable.h: Removed.
              * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
              * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
              * Misc/WebCoreStatistics.mm:
              * Plugins/WebBaseNetscapePluginStream.mm:
              * Plugins/WebBaseNetscapePluginView.mm:
              * Plugins/WebPluginController.mm:
              * WebView/WebFrame.mm:
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebView.mm:
      
              WebKit/qt:
      
              * Api/qwebpage.cpp:
      
              WebKit/win:
      
              * WebJavaScriptCollector.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b91210c0
  17. 24 Oct, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 44331f8b
      darin@apple.com authored
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * API/APICast.h:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSValueRef.cpp:
              * VM/CTI.cpp:
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayPrototype.cpp:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateInstance.h:
              * kjs/DatePrototype.cpp:
              * kjs/DatePrototype.h:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorPrototype.cpp:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionPrototype.cpp:
              * kjs/FunctionPrototype.h:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/InternalFunction.h:
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.h:
              * kjs/MathObject.cpp:
              * kjs/MathObject.h:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/PropertyMap.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpMatchesArray.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/Shell.cpp:
              * kjs/StringConstructor.cpp:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/grammar.y:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * profiler/ProfileGenerator.cpp:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
              Use JSValue* instead of JSValuePtr.
      
      JavaScriptGlue:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * JSObject.cpp:
              (nativeCallFunction):
              * JSUtils.cpp:
              (KJSValueToJSObject):
              (JSObjectKJSValue):
              (KJSValueToCFTypeInternal):
              (KJSValueToCFType):
              * JSUtils.h:
              * JSValueWrapper.cpp:
              (JSValueWrapper::JSValueWrapper):
              (JSValueWrapper::GetValue):
              (JSValueWrapper::JSObjectCopyProperty):
              (JSValueWrapper::JSObjectSetProperty):
              (JSValueWrapper::JSObjectCallFunction):
              * JSValueWrapper.h:
              * UserObjectImp.cpp:
              (UserObjectImp::callAsFunction):
              (UserObjectImp::userObjectGetter):
              (UserObjectImp::getOwnPropertySlot):
              (UserObjectImp::put):
              (UserObjectImp::toPrimitive):
              * UserObjectImp.h:
              (UserObjectImp::createStructureID):
              Use JSValue* instead of JSValuePtr.
      
      WebCore:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              * bindings/js/JSDOMBinding.cpp:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDOMWindowCustom.h:
              * bindings/js/JSDOMWindowShell.cpp:
              * bindings/js/JSDOMWindowShell.h:
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDedicatedWorkerCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventTarget.cpp:
              * bindings/js/JSEventTarget.h:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSEventTargetNodeCustom.cpp:
              * bindings/js/JSHTMLAllCollection.h:
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementCustom.cpp:
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageDataCustom.cpp:
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMessagePortCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              * bindings/js/JSNamedNodesCollection.h:
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCondition.h:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptController.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/c/c_utility.h:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/jni/jni_utility.h:
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/qt/qt_class.cpp:
              * bridge/qt/qt_class.h:
              * bridge/qt/qt_instance.cpp:
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              * bridge/qt/qt_runtime.h:
              * bridge/runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * bridge/testqtbindings.cpp:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              * inspector/JavaScriptProfile.h:
              * inspector/JavaScriptProfileNode.cpp:
              * inspector/JavaScriptProfileNode.h:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * page/Console.cpp:
              * page/Console.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * plugins/PluginView.cpp:
              * xml/XMLHttpRequest.cpp:
              Use JSValue* instead of JSValuePtr.
      
      WebKit/mac:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebView/WebFrame.mm:
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame _convertValueToObjcValue:]):
              (-[WebScriptCallFrame exception]):
              (-[WebScriptCallFrame evaluateWebScript:]):
              * WebView/WebView.mm:
              (aeDescFromJSValue):
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
              Use JSValue* instead of JSValuePtr.
      
      WebKit/qt:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * Api/qwebframe.cpp:
              (QWebFrame::evaluateJavaScript): Use JSValue* instead of JSValuePtr.
      
      WebKit/win:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString):
              (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
              (WebScriptCallFrame::valueForVariable):
              (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
              * WebScriptCallFrame.h:
              * WebView.cpp:
              (WebView::stringByEvaluatingJavaScriptFromString):
              Use JSValue* instead of JSValuePtr.
      
      WebKit/wx:
      
      2008-10-24  Darin Adler  <darin@apple.com>
      
              - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
      
              * WebFrame.cpp: (wxWebFrame::RunScript): Use JSValue* instead of JSValuePtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44331f8b
  18. 18 Oct, 2008 2 commits
    • darin@apple.com's avatar
      JavaScriptCore: · 67c6c018
      darin@apple.com authored
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
              changing JSValuePtr to be a class, and then eventually renaming it
              to JSValue once that's done.
      
              * JavaScriptCore.exp: Update entry points, since some now take JSValue*
              instead of const JSValue*.
      
              * API/APICast.h:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSValueRef.cpp:
              * VM/CTI.cpp:
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Register.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayPrototype.cpp:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateInstance.h:
              * kjs/DatePrototype.cpp:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorPrototype.cpp:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionPrototype.cpp:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/InternalFunction.h:
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.h:
              * kjs/MathObject.cpp:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/PropertyMap.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpMatchesArray.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/Shell.cpp:
              * kjs/StringConstructor.cpp:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/grammar.y:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.h:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * profiler/ProfileGenerator.cpp:
              Replace JSValue* with JSValuePtr.
      
      JavaScriptGlue:
      
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
              changing JSValuePtr to be a class, and then eventually renaming it
              to JSValue once that's done.
      
              * JSObject.cpp:
              * JSValueWrapper.cpp:
              * UserObjectImp.cpp:
              * UserObjectImp.h:
              Replace JSValue* with JSValuePtr.
      
      WebCore:
      
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Cameron Zwarich.
      
              - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
              changing JSValuePtr to be a class, and then eventually renaming it
              to JSValue once that's done.
      
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.h:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              * bindings/js/JSCustomVoidCallback.cpp:
              * bindings/js/JSCustomVoidCallback.h:
              * bindings/js/JSCustomXPathNSResolver.cpp:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              * bindings/js/JSDOMBinding.cpp:
              * bindings/js/JSDOMBinding.h:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              * bindings/js/JSDOMWindowCustom.cpp:
              * bindings/js/JSDOMWindowCustom.h:
              * bindings/js/JSDOMWindowShell.cpp:
              * bindings/js/JSDOMWindowShell.h:
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventTarget.cpp:
              * bindings/js/JSEventTargetBase.h:
              * bindings/js/JSEventTargetNodeCustom.cpp:
              * bindings/js/JSHTMLAllCollection.h:
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementCustom.cpp:
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageDataCustom.cpp:
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMessagePortCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              * bindings/js/JSNamedNodesCollection.h:
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              * bindings/js/JSQuarantinedObjectWrapper.h:
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptController.h:
              * bindings/objc/WebScriptObject.mm:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.mm:
              * bridge/jni/jni_objc.mm:
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * inspector/JavaScriptCallFrame.cpp:
              * inspector/JavaScriptCallFrame.h:
              * inspector/JavaScriptProfile.cpp:
              * inspector/JavaScriptProfileNode.cpp:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * page/Console.cpp:
              * page/Console.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * xml/XMLHttpRequest.cpp:
              Replace JSValue* with JSValuePtr.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      67c6c018
    • darin@apple.com's avatar
      JavaScriptCore: · 5a49442f
      darin@apple.com authored
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Remove casts from JSValue* to derived classes, replacing them with
              calls to inline casting functions. These functions are also a bit
              better than aidrect cast because they also do a runtime assertion.
      
              Removed use of 0 as for JSValue*, changing call sites to use a
              noValue() function instead.
      
              Move things needed by classes derived from JSValue out of the class,
              since the classes won't be deriving from JSValue any more soon.
      
              I did most of these changes by changing JSValue to not be JSValue* any
              more, then fixing a lot of the compilation problems, then rolling out
              the JSValue change.
      
              1.011x as fast on SunSpider (presumably due to some of the Machine.cpp changes)
      
              * API/APICast.h: Removed unneeded forward declarations.
      
              * API/JSCallbackObject.h: Added an asCallbackObject function for casting.
              * API/JSCallbackObjectFunctions.h:
              (JSC::JSCallbackObject::asCallbackObject): Added.
              (JSC::JSCallbackObject::getOwnPropertySlot): Use asObject.
              (JSC::JSCallbackObject::call): Use noValue.
              (JSC::JSCallbackObject::staticValueGetter): Use asCallbackObject.
              (JSC::JSCallbackObject::staticFunctionGetter): Ditto.
              (JSC::JSCallbackObject::callbackGetter): Ditto.
      
              * JavaScriptCore.exp: Updated.
      
              * JavaScriptCore.xcodeproj/project.pbxproj: Added RegExpMatchesArray.h.
      
              * VM/CTI.cpp:
              (JSC::CTI::asInteger): Added. For use casting a JSValue to an integer.
              (JSC::CTI::emitGetArg): Use asInteger.
              (JSC::CTI::emitGetPutArg): Ditto.
              (JSC::CTI::getConstantImmediateNumericArg): Ditto. Also use noValue.
              (JSC::CTI::emitInitRegister): Use asInteger.
              (JSC::CTI::getDeTaggedConstantImmediate): Ditto.
              (JSC::CTI::compileOpCallInitializeCallFrame): Ditto.
              (JSC::CTI::compileOpCall): Ditto.
              (JSC::CTI::compileOpStrictEq): Ditto.
              (JSC::CTI::privateCompileMainPass): Ditto.
              (JSC::CTI::privateCompileGetByIdProto): Ditto.
              (JSC::CTI::privateCompileGetByIdChain): Ditto.
              (JSC::CTI::privateCompilePutByIdTransition): Ditto.
              * VM/CTI.h: Rewrite the ARG-related macros to use C++ casts instead of
              C casts and get rid of some extra parentheses. Addd declaration of
              asInteger.
      
              * VM/CodeGenerator.cpp:
              (JSC::CodeGenerator::emitEqualityOp): Use asString.
              (JSC::CodeGenerator::emitLoad): Use noValue.
              (JSC::CodeGenerator::findScopedProperty): Change globalObject argument
              to JSObject* instead of JSValue*.
              (JSC::CodeGenerator::emitResolve): Remove unneeded cast.
              (JSC::CodeGenerator::emitGetScopedVar): Use asCell.
              (JSC::CodeGenerator::emitPutScopedVar): Ditto.
              * VM/CodeGenerator.h: Changed out argument of findScopedProperty.
              Also change the JSValueMap to use PtrHash explicitly instead of
              getting it from DefaultHash.
      
              * VM/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::toPrimitive): Use noValue.
              * VM/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::next): Ditto.
      
              * VM/Machine.cpp:
              (JSC::fastIsNumber): Moved isImmediate check here instead of
              checking for 0 inside Heap::isNumber. Use asCell and asNumberCell.
              (JSC::fastToInt32): Ditto.
              (JSC::fastToUInt32): Ditto.
              (JSC::jsLess): Use asString.
              (JSC::jsLessEq): Ditto.
              (JSC::jsAdd): Ditto.
              (JSC::jsTypeStringForValue): Use asObject.
              (JSC::jsIsObjectType): Ditto.
              (JSC::jsIsFunctionType): Ditto.
              (JSC::inlineResolveBase): Use noValue.
              (JSC::Machine::callEval): Use asString. Initialize result to
              undefined, not 0.
              (JSC::Machine::Machine): Remove unneeded casts to JSCell*.
              (JSC::Machine::throwException): Use asObject.
              (JSC::Machine::debug): Remove explicit calls to the DebuggerCallFrame
              constructor.
              (JSC::Machine::checkTimeout): Use noValue.
              (JSC::cachePrototypeChain): Use asObject.
              (JSC::Machine::tryCachePutByID): Use asCell.
              (JSC::Machine::tryCacheGetByID): Use aCell and asObject.
              (JSC::Machine::privateExecute): Use noValue, asCell, asObject, asString,
              asArray, asActivation, asFunction. Changed code that creates call frames
              for host functions to pass 0 for the function pointer -- the call frame
              needs a JSFunction* and a host function object is not one. This was
              caught by the assertions in the casting functions. Also remove some
              unneeded casts in cases where two values are compared.
              (JSC::Machine::retrieveLastCaller): Use noValue.
              (JSC::Machine::tryCTICachePutByID): Use asCell.
              (JSC::Machine::tryCTICacheGetByID): Use aCell and asObject.
              (JSC::setUpThrowTrampolineReturnAddress): Added this function to restore
              the PIC-branch-avoidance that was recently lost.
              (JSC::Machine::cti_op_add): Use asString.
              (JSC::Machine::cti_op_instanceof): Use asCell and asObject.
              (JSC::Machine::cti_op_call_JSFunction): Use asFunction.
              (JSC::Machine::cti_op_call_NotJSFunction): Changed code to pass 0 for
              the function pointer, since we don't have a JSFunction. Use asObject.
              (JSC::Machine::cti_op_tear_off_activation): Use asActivation.
              (JSC::Machine::cti_op_construct_JSConstruct): Use asFunction and asObject.
              (JSC::Machine::cti_op_construct_NotJSConstruct): use asObject.
              (JSC::Machine::cti_op_get_by_val): Use asArray and asString.
              (JSC::Machine::cti_op_resolve_func): Use asPointer; this helps prepare
              us for a situation where JSValue is not a pointer.
              (JSC::Machine::cti_op_put_by_val): Use asArray.
              (JSC::Machine::cti_op_put_by_val_array): Ditto.
              (JSC::Machine::cti_op_resolve_global): Use asGlobalObject.
              (JSC::Machine::cti_op_post_inc): Change VM_CHECK_EXCEPTION_2 to
              VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after
              that point. Also use asPointer.
              (JSC::Machine::cti_op_resolve_with_base): Use asPointer.
              (JSC::Machine::cti_op_post_dec): Change VM_CHECK_EXCEPTION_2 to
              VM_CHECK_EXCEPTION_AT_END, since there's no observable work done after
              that point. Also use asPointer.
              (JSC::Machine::cti_op_call_eval): Use asObject, noValue, and change
              VM_CHECK_EXCEPTION_ARG to VM_THROW_EXCEPTION_AT_END.
              (JSC::Machine::cti_op_throw): Change return value to a JSValue*.
              (JSC::Machine::cti_op_in): Use asObject.
              (JSC::Machine::cti_op_switch_char): Use asString.
              (JSC::Machine::cti_op_switch_string): Ditto.
              (JSC::Machine::cti_op_put_getter): Use asObject.
              (JSC::Machine::cti_op_put_setter): Ditto.
              (JSC::Machine::cti_vm_throw): Change return value to a JSValue*.
              Use noValue.
              * VM/Machine.h: Change return values of both cti_op_throw and
              cti_vm_throw to JSValue*.
      
              * VM/Register.h: Remove nullJSValue, which is the same thing
              as noValue(). Also removed unneeded definition of JSValue.
      
              * kjs/ArgList.h: Removed unneeded definition of JSValue.
      
              * kjs/Arguments.h:
              (JSC::asArguments): Added.
      
              * kjs/ArrayPrototype.cpp:
              (JSC::getProperty): Use noValue.
              (JSC::arrayProtoFuncToString): Use asArray.
              (JSC::arrayProtoFuncToLocaleString): Ditto.
              (JSC::arrayProtoFuncConcat): Ditto.
              (JSC::arrayProtoFuncPop): Ditto. Also removed unneeded initialization
              of the result, which is set in both sides of the branch.
              (JSC::arrayProtoFuncPush): Ditto.
              (JSC::arrayProtoFuncShift): Removed unneeded initialization
              of the result, which is set in both sides of the branch.
              (JSC::arrayProtoFuncSort): Use asArray.
      
              * kjs/BooleanObject.h:
              (JSC::asBooleanObject): Added.
      
              * kjs/BooleanPrototype.cpp:
              (JSC::booleanProtoFuncToString): Use asBooleanObject.
              (JSC::booleanProtoFuncValueOf): Ditto.
      
              * kjs/CallData.cpp:
              (JSC::call): Use asObject and asFunction.
              * kjs/ConstructData.cpp:
              (JSC::construct): Ditto.
      
              * kjs/DateConstructor.cpp:
              (JSC::constructDate): Use asDateInstance.
      
              * kjs/DateInstance.h:
              (JSC::asDateInstance): Added.
      
              * kjs/DatePrototype.cpp:
              (JSC::dateProtoFuncToString): Use asDateInstance.
              (JSC::dateProtoFuncToUTCString): Ditto.
              (JSC::dateProtoFuncToDateString): Ditto.
              (JSC::dateProtoFuncToTimeString): Ditto.
              (JSC::dateProtoFuncToLocaleString): Ditto.
              (JSC::dateProtoFuncToLocaleDateString): Ditto.
              (JSC::dateProtoFuncToLocaleTimeString): Ditto.
              (JSC::dateProtoFuncValueOf): Ditto.
              (JSC::dateProtoFuncGetTime): Ditto.
              (JSC::dateProtoFuncGetFullYear): Ditto.
              (JSC::dateProtoFuncGetUTCFullYear): Ditto.
              (JSC::dateProtoFuncToGMTString): Ditto.
              (JSC::dateProtoFuncGetMonth): Ditto.
              (JSC::dateProtoFuncGetUTCMonth): Ditto.
              (JSC::dateProtoFuncGetDate): Ditto.
              (JSC::dateProtoFuncGetUTCDate): Ditto.
              (JSC::dateProtoFuncGetDay): Ditto.
              (JSC::dateProtoFuncGetUTCDay): Ditto.
              (JSC::dateProtoFuncGetHours): Ditto.
              (JSC::dateProtoFuncGetUTCHours): Ditto.
              (JSC::dateProtoFuncGetMinutes): Ditto.
              (JSC::dateProtoFuncGetUTCMinutes): Ditto.
              (JSC::dateProtoFuncGetSeconds): Ditto.
              (JSC::dateProtoFuncGetUTCSeconds): Ditto.
              (JSC::dateProtoFuncGetMilliSeconds): Ditto.
              (JSC::dateProtoFuncGetUTCMilliseconds): Ditto.
              (JSC::dateProtoFuncGetTimezoneOffset): Ditto.
              (JSC::dateProtoFuncSetTime): Ditto.
              (JSC::setNewValueFromTimeArgs): Ditto.
              (JSC::setNewValueFromDateArgs): Ditto.
              (JSC::dateProtoFuncSetYear): Ditto.
              (JSC::dateProtoFuncGetYear): Ditto.
      
              * kjs/DebuggerCallFrame.cpp:
              (JSC::DebuggerCallFrame::thisObject): Use asObject.
              (JSC::DebuggerCallFrame::evaluate): Use noValue.
              * kjs/DebuggerCallFrame.h: Added a constructor that
              takes only a callFrame.
      
              * kjs/ExecState.h:
              (JSC::ExecState::clearException): Use noValue.
      
              * kjs/FunctionPrototype.cpp:
              (JSC::functionProtoFuncToString): Use asFunction.
              (JSC::functionProtoFuncApply): Use asArguments and asArray.
      
              * kjs/GetterSetter.cpp:
              (JSC::GetterSetter::getPrimitiveNumber): Use noValue.
      
              * kjs/GetterSetter.h:
              (JSC::asGetterSetter): Added.
      
              * kjs/InternalFunction.cpp:
              (JSC::InternalFunction::name): Use asString.
      
              * kjs/InternalFunction.h:
              (JSC::asInternalFunction): Added.
      
              * kjs/JSActivation.cpp:
              (JSC::JSActivation::argumentsGetter): Use asActivation.
      
              * kjs/JSActivation.h:
              (JSC::asActivation): Added.
      
              * kjs/JSArray.cpp:
              (JSC::JSArray::putSlowCase): Use noValue.
              (JSC::JSArray::deleteProperty): Ditto.
              (JSC::JSArray::increaseVectorLength): Ditto.
              (JSC::JSArray::setLength): Ditto.
              (JSC::JSArray::pop): Ditto.
              (JSC::JSArray::sort): Ditto.
              (JSC::JSArray::compactForSorting): Ditto.
              * kjs/JSArray.h:
              (JSC::asArray): Added.
      
              * kjs/JSCell.cpp:
              (JSC::JSCell::getJSNumber): Use noValue.
      
              * kjs/JSCell.h:
              (JSC::asCell): Added.
              (JSC::JSValue::asCell): Changed to not preserve const.
              Given the wide use of JSValue* and JSCell*, it's not
              really useful to use const.
              (JSC::JSValue::isNumber): Use asValue.
              (JSC::JSValue::isString): Ditto.
              (JSC::JSValue::isGetterSetter): Ditto.
              (JSC::JSValue::isObject): Ditto.
              (JSC::JSValue::getNumber): Ditto.
              (JSC::JSValue::getString): Ditto.
              (JSC::JSValue::getObject): Ditto.
              (JSC::JSValue::getCallData): Ditto.
              (JSC::JSValue::getConstructData): Ditto.
              (JSC::JSValue::getUInt32): Ditto.
              (JSC::JSValue::getTruncatedInt32): Ditto.
              (JSC::JSValue::getTruncatedUInt32): Ditto.
              (JSC::JSValue::mark): Ditto.
              (JSC::JSValue::marked): Ditto.
              (JSC::JSValue::toPrimitive): Ditto.
              (JSC::JSValue::getPrimitiveNumber): Ditto.
              (JSC::JSValue::toBoolean): Ditto.
              (JSC::JSValue::toNumber): Ditto.
              (JSC::JSValue::toString): Ditto.
              (JSC::JSValue::toObject): Ditto.
              (JSC::JSValue::toThisObject): Ditto.
              (JSC::JSValue::needsThisConversion): Ditto.
              (JSC::JSValue::toThisString): Ditto.
              (JSC::JSValue::getJSNumber): Ditto.
      
              * kjs/JSFunction.cpp:
              (JSC::JSFunction::argumentsGetter): Use asFunction.
              (JSC::JSFunction::callerGetter): Ditto.
              (JSC::JSFunction::lengthGetter): Ditto.
              (JSC::JSFunction::construct): Use asObject.
      
              * kjs/JSFunction.h:
              (JSC::asFunction): Added.
      
              * kjs/JSGlobalObject.cpp:
              (JSC::lastInPrototypeChain): Use asObject.
      
              * kjs/JSGlobalObject.h:
              (JSC::asGlobalObject): Added.
              (JSC::ScopeChainNode::globalObject): Use asGlobalObject.
      
              * kjs/JSImmediate.h: Added noValue, asPointer, and makeValue
              functions. Use rawValue, makeValue, and noValue consistently
              instead of doing reinterpret_cast in various functions.
      
              * kjs/JSNumberCell.h:
              (JSC::asNumberCell): Added.
              (JSC::JSValue::uncheckedGetNumber): Use asValue and asNumberCell.
              (JSC::JSValue::toJSNumber): Use asValue.
      
              * kjs/JSObject.cpp:
              (JSC::JSObject::put): Use asObject and asGetterSetter.
              (JSC::callDefaultValueFunction): Use noValue.
              (JSC::JSObject::defineGetter): Use asGetterSetter.
              (JSC::JSObject::defineSetter): Ditto.
              (JSC::JSObject::lookupGetter): Ditto. Also use asObject.
              (JSC::JSObject::lookupSetter): Ditto.
              (JSC::JSObject::hasInstance): Use asObject.
              (JSC::JSObject::fillGetterPropertySlot): Use asGetterSetter.
      
              * kjs/JSObject.h:
              (JSC::JSObject::getDirect): Use noValue.
              (JSC::asObject): Added.
              (JSC::JSValue::isObject): Use asValue.
              (JSC::JSObject::get): Removed unneeded const_cast.
              (JSC::JSObject::getPropertySlot): Use asObject.
              (JSC::JSValue::get): Removed unneeded const_cast.
              Use asValue, asCell, and asObject.
              (JSC::JSValue::put): Ditto.
              (JSC::JSObject::allocatePropertyStorageInline): Fixed spelling
              of "oldPropertStorage".
      
              * kjs/JSString.cpp:
              (JSC::JSString::getOwnPropertySlot): Use asObject.
      
              * kjs/JSString.h:
              (JSC::asString): Added.
              (JSC::JSValue::toThisJSString): Use asValue.
      
              * kjs/JSValue.h: Make PreferredPrimitiveType a top level enum
              instead of a member of JSValue. Added an asValue function that
              returns this. Removed overload of asCell for const. Use asValue
              instead of getting right at this.
      
              * kjs/ObjectPrototype.cpp:
              (JSC::objectProtoFuncIsPrototypeOf): Use asObject.
              (JSC::objectProtoFuncDefineGetter): Ditto.
              (JSC::objectProtoFuncDefineSetter): Ditto.
      
              * kjs/PropertySlot.h:
              (JSC::PropertySlot::PropertySlot): Take a const JSValue* so the
              callers don't have to worry about const.
              (JSC::PropertySlot::clearBase): Use noValue.
              (JSC::PropertySlot::clearValue): Ditto.
      
              * kjs/RegExpConstructor.cpp:
              (JSC::regExpConstructorDollar1): Use asRegExpConstructor.
              (JSC::regExpConstructorDollar2): Ditto.
              (JSC::regExpConstructorDollar3): Ditto.
              (JSC::regExpConstructorDollar4): Ditto.
              (JSC::regExpConstructorDollar5): Ditto.
              (JSC::regExpConstructorDollar6): Ditto.
              (JSC::regExpConstructorDollar7): Ditto.
              (JSC::regExpConstructorDollar8): Ditto.
              (JSC::regExpConstructorDollar9): Ditto.
              (JSC::regExpConstructorInput): Ditto.
              (JSC::regExpConstructorMultiline): Ditto.
              (JSC::regExpConstructorLastMatch): Ditto.
              (JSC::regExpConstructorLastParen): Ditto.
              (JSC::regExpConstructorLeftContext): Ditto.
              (JSC::regExpConstructorRightContext): Ditto.
              (JSC::setRegExpConstructorInput): Ditto.
              (JSC::setRegExpConstructorMultiline): Ditto.
              (JSC::constructRegExp): Use asObject.
      
              * kjs/RegExpConstructor.h:
              (JSC::asRegExpConstructor): Added.
      
              * kjs/RegExpObject.cpp:
              (JSC::regExpObjectGlobal): Use asRegExpObject.
              (JSC::regExpObjectIgnoreCase): Ditto.
              (JSC::regExpObjectMultiline): Ditto.
              (JSC::regExpObjectSource): Ditto.
              (JSC::regExpObjectLastIndex): Ditto.
              (JSC::setRegExpObjectLastIndex): Ditto.
              (JSC::callRegExpObject): Ditto.
      
              * kjs/RegExpObject.h:
              (JSC::asRegExpObject): Added.
      
              * kjs/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncTest): Use asRegExpObject.
              (JSC::regExpProtoFuncExec): Ditto.
              (JSC::regExpProtoFuncCompile): Ditto.
              (JSC::regExpProtoFuncToString): Ditto.
      
              * kjs/StringObject.h:
              (JSC::StringObject::internalValue): Use asString.
              (JSC::asStringObject): Added.
      
              * kjs/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace): Use asRegExpObject.
              (JSC::stringProtoFuncToString): Ue asStringObject.
              (JSC::stringProtoFuncMatch): Use asRegExpObject.
              (JSC::stringProtoFuncSearch): Ditto.
              (JSC::stringProtoFuncSplit): Ditto.
      
              * kjs/StructureID.cpp:
              (JSC::StructureID::getEnumerablePropertyNames): Use asObject.
              (JSC::StructureID::createCachedPrototypeChain): Ditto.
              (JSC::StructureIDChain::StructureIDChain): Use asCell and asObject.
      
              * kjs/collector.h:
              (JSC::Heap::isNumber): Removed null handling. This can only be called
              on valid cells.
              (JSC::Heap::cellBlock): Removed overload for const and non-const.
              Whether the JSCell* is const or not really should have no effect on
              whether you can modify the collector block it's in.
      
              * kjs/interpreter.cpp:
              (JSC::Interpreter::evaluate): Use noValue and noObject.
      
              * kjs/nodes.cpp:
              (JSC::FunctionCallResolveNode::emitCode): Use JSObject for the global
              object rather than JSValue.
              (JSC::PostfixResolveNode::emitCode): Ditto.
              (JSC::PrefixResolveNode::emitCode): Ditto.
              (JSC::ReadModifyResolveNode::emitCode): Ditto.
              (JSC::AssignResolveNode::emitCode): Ditto.
      
              * kjs/operations.h:
              (JSC::equalSlowCaseInline): Use asString, asCell, asNumberCell, 
              (JSC::strictEqualSlowCaseInline): Ditto.
      
      WebCore:
      
      2008-10-18  Darin Adler  <darin@apple.com>
      
              Reviewed by Oliver Hunt.
      
              - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
                improve performance by eliminating JSValue as a base class for JSCell
      
              Update for change to make PreferredPrimitiveType no longer
              a member of JSValue.
      
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::defaultValue): Ditto.
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::defaultValue): Ditto.
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::defaultValue): Ditto.
              * bridge/runtime.h: Ditto. Also removed typedef.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37681 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a49442f
  19. 06 Oct, 2008 2 commits
    • mjs@apple.com's avatar
      JavaScriptCore: · 6c3268ce
      mjs@apple.com authored
      2008-10-06  Maciej Stachowiak  <mjs@apple.com>
      
              Not reviewed. Build fix.
              
              - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
      
              * API/JSValueRef.cpp:
              (JSValueToBoolean):
              * ChangeLog:
              * JavaScriptCore.exp:
              * VM/CodeBlock.cpp:
              (JSC::CodeBlock::dump):
              * VM/Machine.cpp:
              (JSC::Machine::privateExecute):
              (JSC::Machine::cti_op_loop_if_true):
              (JSC::Machine::cti_op_not):
              (JSC::Machine::cti_op_jtrue):
              * kjs/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncSome):
              * kjs/BooleanConstructor.cpp:
              (JSC::constructBoolean):
              (JSC::callBooleanConstructor):
              * kjs/GetterSetter.h:
              * kjs/JSCell.h:
              (JSC::JSValue::toBoolean):
              * kjs/JSNumberCell.cpp:
              (JSC::JSNumberCell::toBoolean):
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              (JSC::JSObject::toBoolean):
              * kjs/JSObject.h:
              * kjs/JSString.cpp:
              (JSC::JSString::toBoolean):
              * kjs/JSString.h:
              * kjs/JSValue.h:
              * kjs/RegExpConstructor.cpp:
              (JSC::setRegExpConstructorMultiline):
              * kjs/RegExpObject.cpp:
              (JSC::RegExpObject::match):
              * kjs/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncToString):
      
      JavaScriptGlue:
      
      2008-10-06  Maciej Stachowiak  <mjs@apple.com>
      
              Not reviewed. Build fix.
      
              - revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
      
              * JSUtils.cpp:
              (KJSValueToCFTypeInternal):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c3268ce
    • mjs@apple.com's avatar
      2008-10-06 Maciej Stachowiak <mjs@apple.com> · d2c36fec
      mjs@apple.com authored
              Reviewed by Sam Weinig.
              
              - optimize op_jtrue, op_loop_if_true and op_not in various ways
              https://bugs.webkit.org/show_bug.cgi?id=21404
              
              1) Make JSValue::toBoolean nonvirtual and completely inline by
              making use of the StructureID type field.
              
              2) Make JSValue::toBoolean not take an ExecState; doesn't need it.
              
              3) Make op_not, op_loop_if_true and op_jtrue not read the
              ExecState (toBoolean doesn't need it any more) and not check
              exceptions (toBoolean can't throw).
      
              * API/JSValueRef.cpp:
              (JSValueToBoolean):
              * JavaScriptCore.exp:
              * VM/CodeBlock.cpp:
              (JSC::CodeBlock::dump):
              * VM/Machine.cpp:
              (JSC::Machine::privateExecute):
              (JSC::Machine::cti_op_loop_if_true):
              (JSC::Machine::cti_op_not):
              (JSC::Machine::cti_op_jtrue):
              * kjs/ArrayPrototype.cpp:
              (JSC::arrayProtoFuncFilter):
              (JSC::arrayProtoFuncEvery):
              (JSC::arrayProtoFuncSome):
              * kjs/BooleanConstructor.cpp:
              (JSC::constructBoolean):
              (JSC::callBooleanConstructor):
              * kjs/GetterSetter.h:
              * kjs/JSCell.h:
              (JSC::JSValue::toBoolean):
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              (JSC::JSNumberCell::toBoolean):
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              (JSC::JSObject::toBoolean):
              (JSC::JSCell::toBoolean):
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              (JSC::JSString::toBoolean):
              * kjs/JSValue.h:
              * kjs/RegExpConstructor.cpp:
              (JSC::setRegExpConstructorMultiline):
              * kjs/RegExpObject.cpp:
              (JSC::RegExpObject::match):
              * kjs/RegExpPrototype.cpp:
              (JSC::regExpProtoFuncToString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2c36fec
  20. 10 Sep, 2008 1 commit
    • mjs@apple.com's avatar
      2008-09-10 Maciej Stachowiak <mjs@apple.com> · 4fab8113
      mjs@apple.com authored
              Reviewed by Oliver.
              
              - enable polymorphic inline caching of properties of primitives
              
              1.012x speedup on SunSpider.
      
              We create special structure IDs for JSString and
              JSNumberCell. Unlike normal structure IDs, these cannot hold the
              true prototype. Due to JS autoboxing semantics, the prototype used
              when looking up string or number properties depends on the lexical
              global object of the call site, not the creation site. Thus we
              enable StructureIDs to handle this quirk for primitives.
              
              Everything else should be straightforward.
              
              * VM/CTI.cpp:
              (JSC::CTI::privateCompileGetByIdProto):
              (JSC::CTI::privateCompileGetByIdChain):
              * VM/CTI.h:
              (JSC::CTI::compileGetByIdProto):
              (JSC::CTI::compileGetByIdChain):
              * VM/JSPropertyNameIterator.h:
              (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
              * VM/Machine.cpp:
              (JSC::Machine::Machine):
              (JSC::cachePrototypeChain):
              (JSC::Machine::tryCachePutByID):
              (JSC::Machine::tryCacheGetByID):
              (JSC::Machine::privateExecute):
              (JSC::Machine::tryCTICachePutByID):
              (JSC::Machine::tryCTICacheGetByID):
              * kjs/GetterSetter.h:
              (JSC::GetterSetter::GetterSetter):
              * kjs/JSCell.h:
              * kjs/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.h:
              (JSC::StructureID::prototypeForLookup):
              * kjs/JSNumberCell.h:
              (JSC::JSNumberCell::JSNumberCell):
              (JSC::jsNumberCell):
              * kjs/JSObject.h:
              (JSC::JSObject::prototype):
              * kjs/JSString.cpp:
              (JSC::jsString):
              (JSC::jsSubstring):
              (JSC::jsOwnedString):
              * kjs/JSString.h:
              (JSC::JSString::JSString):
              (JSC::JSString::):
              (JSC::jsSingleCharacterString):
              (JSC::jsSingleCharacterSubstring):
              (JSC::jsNontrivialString):
              * kjs/SmallStrings.cpp:
              (JSC::SmallStrings::createEmptyString):
              (JSC::SmallStrings::createSingleCharacterString):
              * kjs/StructureID.cpp:
              (JSC::StructureID::StructureID):
              (JSC::StructureID::addPropertyTransition):
              (JSC::StructureID::getterSetterTransition):
              (JSC::StructureIDChain::StructureIDChain):
              * kjs/StructureID.h:
              (JSC::StructureID::create):
              (JSC::StructureID::storedPrototype):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4fab8113
  21. 07 Sep, 2008 1 commit
    • cwzwarich@webkit.org's avatar
      2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca> · 3f782f6a
      cwzwarich@webkit.org authored
              Reviewed by Maciej Stachowiak.
      
              Bug 20704: Replace the KJS namespace
              <https://bugs.webkit.org/show_bug.cgi?id=20704>
      
              Rename the KJS namespace to JSC. There are still some uses of KJS in
              preprocessor macros and comments, but these will also be changed some
              time in the near future. There are also some uses in the names of JNI
              functions, but I will check if these are safe to change as well.
      
              JavaScriptCore:
      
              * API/APICast.h:
              (toJS):
              (toRef):
              (toGlobalRef):
              * API/JSBase.cpp:
              * API/JSCallbackConstructor.cpp:
              * API/JSCallbackConstructor.h:
              * API/JSCallbackFunction.cpp:
              * API/JSCallbackFunction.h:
              * API/JSCallbackObject.cpp:
              * API/JSCallbackObject.h:
              * API/JSCallbackObjectFunctions.h:
              * API/JSClassRef.cpp:
              (OpaqueJSClass::staticValues):
              (OpaqueJSClass::staticFunctions):
              * API/JSClassRef.h:
              * API/JSContextRef.cpp:
              * API/JSObjectRef.cpp:
              * API/JSProfilerPrivate.cpp:
              * API/JSStringRef.cpp:
              * API/JSValueRef.cpp:
              (JSValueGetType):
              * API/OpaqueJSString.cpp:
              * API/OpaqueJSString.h:
              * JavaScriptCore.Debug.exp:
              * JavaScriptCore.base.exp:
              * VM/CTI.cpp:
              (JSC::):
              * VM/CTI.h:
              * VM/CodeBlock.cpp:
              * VM/CodeBlock.h:
              * VM/CodeGenerator.cpp:
              * VM/CodeGenerator.h:
              * VM/ExceptionHelpers.cpp:
              * VM/ExceptionHelpers.h:
              * VM/Instruction.h:
              * VM/JSPropertyNameIterator.cpp:
              * VM/JSPropertyNameIterator.h:
              * VM/LabelID.h:
              * VM/Machine.cpp:
              * VM/Machine.h:
              * VM/Opcode.cpp:
              * VM/Opcode.h:
              * VM/Register.h:
              (WTF::):
              * VM/RegisterFile.cpp:
              * VM/RegisterFile.h:
              * VM/RegisterID.h:
              (WTF::):
              * VM/SamplingTool.cpp:
              * VM/SamplingTool.h:
              * VM/SegmentedVector.h:
              * kjs/ArgList.cpp:
              * kjs/ArgList.h:
              * kjs/Arguments.cpp:
              * kjs/Arguments.h:
              * kjs/ArrayConstructor.cpp:
              * kjs/ArrayConstructor.h:
              * kjs/ArrayPrototype.cpp:
              * kjs/ArrayPrototype.h:
              * kjs/BatchedTransitionOptimizer.h:
              * kjs/BooleanConstructor.cpp:
              * kjs/BooleanConstructor.h:
              * kjs/BooleanObject.cpp:
              * kjs/BooleanObject.h:
              * kjs/BooleanPrototype.cpp:
              * kjs/BooleanPrototype.h:
              * kjs/CallData.cpp:
              * kjs/CallData.h:
              * kjs/ClassInfo.h:
              * kjs/CommonIdentifiers.cpp:
              * kjs/CommonIdentifiers.h:
              * kjs/ConstructData.cpp:
              * kjs/ConstructData.h:
              * kjs/DateConstructor.cpp:
              * kjs/DateConstructor.h:
              * kjs/DateInstance.cpp:
              (JSC::DateInstance::msToGregorianDateTime):
              * kjs/DateInstance.h:
              * kjs/DateMath.cpp:
              * kjs/DateMath.h:
              * kjs/DatePrototype.cpp:
              * kjs/DatePrototype.h:
              * kjs/DebuggerCallFrame.cpp:
              * kjs/DebuggerCallFrame.h:
              * kjs/Error.cpp:
              * kjs/Error.h:
              * kjs/ErrorConstructor.cpp:
              * kjs/ErrorConstructor.h:
              * kjs/ErrorInstance.cpp:
              * kjs/ErrorInstance.h:
              * kjs/ErrorPrototype.cpp:
              * kjs/ErrorPrototype.h:
              * kjs/ExecState.cpp:
              * kjs/ExecState.h:
              * kjs/FunctionConstructor.cpp:
              * kjs/FunctionConstructor.h:
              * kjs/FunctionPrototype.cpp:
              * kjs/FunctionPrototype.h:
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h:
              * kjs/GlobalEvalFunction.cpp:
              * kjs/GlobalEvalFunction.h:
              * kjs/IndexToNameMap.cpp:
              * kjs/IndexToNameMap.h:
              * kjs/InitializeThreading.cpp:
              * kjs/InitializeThreading.h:
              * kjs/InternalFunction.cpp:
              * kjs/InternalFunction.h:
              (JSC::InternalFunction::InternalFunction):
              * kjs/JSActivation.cpp:
              * kjs/JSActivation.h:
              * kjs/JSArray.cpp:
              * kjs/JSArray.h:
              * kjs/JSCell.cpp:
              * kjs/JSCell.h:
              * kjs/JSFunction.cpp:
              * kjs/JSFunction.h:
              (JSC::JSFunction::JSFunction):
              * kjs/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              * kjs/JSGlobalData.h:
              * kjs/JSGlobalObject.cpp:
              * kjs/JSGlobalObject.h:
              * kjs/JSGlobalObjectFunctions.cpp:
              * kjs/JSGlobalObjectFunctions.h:
              * kjs/JSImmediate.cpp:
              * kjs/JSImmediate.h:
              * kjs/JSLock.cpp:
              * kjs/JSLock.h:
              * kjs/JSNotAnObject.cpp:
              * kjs/JSNotAnObject.h:
              * kjs/JSNumberCell.cpp:
              * kjs/JSNumberCell.h:
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/JSStaticScopeObject.cpp:
              * kjs/JSStaticScopeObject.h:
              * kjs/JSString.cpp:
              * kjs/JSString.h:
              * kjs/JSType.h:
              * kjs/JSValue.cpp:
              * kjs/JSValue.h:
              * kjs/JSVariableObject.cpp:
              * kjs/JSVariableObject.h:
              * kjs/JSWrapperObject.cpp:
              * kjs/JSWrapperObject.h:
              * kjs/LabelStack.cpp:
              * kjs/LabelStack.h:
              * kjs/MathObject.cpp:
              * kjs/MathObject.h:
              * kjs/NativeErrorConstructor.cpp:
              * kjs/NativeErrorConstructor.h:
              * kjs/NativeErrorPrototype.cpp:
              * kjs/NativeErrorPrototype.h:
              * kjs/NodeInfo.h:
              * kjs/NumberConstructor.cpp:
              * kjs/NumberConstructor.h:
              * kjs/NumberObject.cpp:
              * kjs/NumberObject.h:
              * kjs/NumberPrototype.cpp:
              * kjs/NumberPrototype.h:
              * kjs/ObjectConstructor.cpp:
              * kjs/ObjectConstructor.h:
              * kjs/ObjectPrototype.cpp:
              * kjs/ObjectPrototype.h:
              * kjs/Parser.cpp:
              * kjs/Parser.h:
              * kjs/PropertyMap.cpp:
              (JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):
              * kjs/PropertyMap.h:
              * kjs/PropertyNameArray.cpp:
              * kjs/PropertyNameArray.h:
              * kjs/PropertySlot.cpp:
              * kjs/PropertySlot.h:
              * kjs/PrototypeFunction.cpp:
              * kjs/PrototypeFunction.h:
              * kjs/PutPropertySlot.h:
              * kjs/RegExpConstructor.cpp:
              * kjs/RegExpConstructor.h:
              * kjs/RegExpObject.cpp:
              * kjs/RegExpObject.h:
              * kjs/RegExpPrototype.cpp:
              * kjs/RegExpPrototype.h:
              * kjs/ScopeChain.cpp:
              * kjs/ScopeChain.h:
              * kjs/ScopeChainMark.h:
              * kjs/Shell.cpp:
              (jscmain):
              * kjs/SmallStrings.cpp:
              * kjs/SmallStrings.h:
              * kjs/SourceProvider.h:
              * kjs/SourceRange.h:
              * kjs/StringConstructor.cpp:
              * kjs/StringConstructor.h:
              * kjs/StringObject.cpp:
              * kjs/StringObject.h:
              * kjs/StringObjectThatMasqueradesAsUndefined.h:
              * kjs/StringPrototype.cpp:
              * kjs/StringPrototype.h:
              * kjs/StructureID.cpp:
              * kjs/StructureID.h:
              * kjs/SymbolTable.h:
              * kjs/collector.cpp:
              * kjs/collector.h:
              * kjs/completion.h:
              * kjs/create_hash_table:
              * kjs/debugger.cpp:
              * kjs/debugger.h:
              * kjs/dtoa.cpp:
              * kjs/dtoa.h:
              * kjs/grammar.y:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              (JSC::Identifier::equal):
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
              * kjs/lexer.cpp:
              (JSC::Lexer::Lexer):
              (JSC::Lexer::clear):
              (JSC::Lexer::makeIdentifier):
              * kjs/lexer.h:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/operations.cpp:
              * kjs/operations.h:
              * kjs/protect.h:
              * kjs/regexp.cpp:
              * kjs/regexp.h:
              * kjs/ustring.cpp:
              * kjs/ustring.h:
              (JSC::operator!=):
              (JSC::IdentifierRepHash::hash):
              (WTF::):
              * masm/MacroAssembler.h:
              * masm/MacroAssemblerWin.cpp:
              * masm/X86Assembler.h:
              * pcre/pcre_exec.cpp:
              * profiler/CallIdentifier.h:
              (WTF::):
              * profiler/HeavyProfile.cpp:
              * profiler/HeavyProfile.h:
              * profiler/Profile.cpp:
              * profiler/Profile.h:
              * profiler/ProfileGenerator.cpp:
              * profiler/ProfileGenerator.h:
              * profiler/ProfileNode.cpp:
              * profiler/ProfileNode.h:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
              * profiler/TreeProfile.cpp:
              * profiler/TreeProfile.h:
              * wrec/WREC.cpp:
              * wrec/WREC.h:
              * wtf/AVLTree.h:
      
              WebCore:
      
              * WebCore.base.exp:
              * bindings/js/GCController.cpp:
              * bindings/js/JSAttrCustom.cpp:
              * bindings/js/JSAudioConstructor.cpp:
              * bindings/js/JSAudioConstructor.h:
              (WebCore::JSAudioConstructor::classInfo):
              * bindings/js/JSCSSRuleCustom.cpp:
              * bindings/js/JSCSSStyleDeclarationCustom.cpp:
              * bindings/js/JSCSSValueCustom.cpp:
              * bindings/js/JSCanvasPixelArrayCustom.cpp:
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSConsoleCustom.cpp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementCallback.h:
              (WebCore::JSCustomSQLStatementCallback::create):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.h:
              (WebCore::JSCustomSQLStatementErrorCallback::create):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.h:
              (WebCore::JSCustomSQLTransactionCallback::create):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.h:
              (WebCore::JSCustomSQLTransactionErrorCallback::create):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.h:
              (WebCore::JSCustomVoidCallback::create):
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::create):
              * bindings/js/JSCustomXPathNSResolver.h:
              * bindings/js/JSDOMApplicationCacheCustom.cpp:
              (WebCore::JSDOMApplicationCache::dispatchEvent):
              * bindings/js/JSDOMBinding.cpp:
              (WebCore::jsOwnedStringOrNull):
              * bindings/js/JSDOMBinding.h:
              (WebCore::DOMObject::DOMObject):
              (WebCore::cacheDOMObject):
              (WebCore::cacheSVGDOMObject):
              (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
              (WebCore::toJS):
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSDOMWindowBase.h:
              (WebCore::JSDOMWindowBase::classInfo):
              (WebCore::JSDOMWindowBase::d):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::getPropertyAttributes):
              * bindings/js/JSDOMWindowCustom.h:
              (WebCore::asJSDOMWindow):
              (WebCore::JSDOMWindow::customGetOwnPropertySlot):
              (WebCore::JSDOMWindow::customPut):
              (WebCore::JSDOMWindowBase::allowsAccessFrom):
              (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::JSDOMWindowShell::getPropertyAttributes):
              * bindings/js/JSDOMWindowShell.h:
              (WebCore::JSDOMWindowShell::classInfo):
              * bindings/js/JSDatabaseCustom.cpp:
              * bindings/js/JSDocumentCustom.cpp:
              * bindings/js/JSDocumentFragmentCustom.cpp:
              * bindings/js/JSElementCustom.cpp:
              * bindings/js/JSEventCustom.cpp:
              * bindings/js/JSEventListener.cpp:
              * bindings/js/JSEventListener.h:
              (WebCore::JSUnprotectedEventListener::create):
              (WebCore::JSEventListener::create):
              * bindings/js/JSEventTargetBase.cpp:
              * bindings/js/JSEventTargetBase.h:
              (WebCore::JSEventTargetBase::getValueProperty):
              (WebCore::JSEventTargetBase::putValueProperty):
              (WebCore::JSEventTargetBase::getOwnPropertySlot):
              (WebCore::JSEventTargetBase::put):
              (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
              (WebCore::JSEventTargetPrototype::self):
              (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
              (WebCore::JSEventTargetPrototype::classInfo):
              * bindings/js/JSEventTargetNode.cpp:
              * bindings/js/JSEventTargetNode.h:
              (WebCore::JSEventTargetNode::getOwnPropertySlot):
              (WebCore::JSEventTargetNode::getValueProperty):
              (WebCore::JSEventTargetNode::put):
              (WebCore::JSEventTargetNode::putValueProperty):
              * bindings/js/JSHTMLAllCollection.h:
              (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
              (WebCore::JSHTMLAllCollection::toBoolean):
              * bindings/js/JSHTMLAppletElementCustom.cpp:
              * bindings/js/JSHTMLCollectionCustom.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSHTMLElementCustom.cpp:
              * bindings/js/JSHTMLEmbedElementCustom.cpp:
              * bindings/js/JSHTMLFormElementCustom.cpp:
              * bindings/js/JSHTMLFrameElementCustom.cpp:
              * bindings/js/JSHTMLFrameSetElementCustom.cpp:
              * bindings/js/JSHTMLIFrameElementCustom.cpp:
              * bindings/js/JSHTMLInputElementBase.cpp:
              (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
              (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
              * bindings/js/JSHTMLInputElementBase.h:
              (WebCore::JSHTMLInputElementBase::classInfo):
              * bindings/js/JSHTMLObjectElementCustom.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.cpp:
              * bindings/js/JSHTMLOptionElementConstructor.h:
              (WebCore::JSHTMLOptionElementConstructor::classInfo):
              * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
              * bindings/js/JSHTMLSelectElementCustom.cpp:
              (WebCore::selectIndexSetter):
              (WebCore::JSHTMLSelectElement::indexSetter):
              * bindings/js/JSHTMLSelectElementCustom.h:
              * bindings/js/JSHistoryCustom.cpp:
              * bindings/js/JSImageConstructor.cpp:
              * bindings/js/JSImageConstructor.h:
              (WebCore::JSImageConstructor::classInfo):
              * bindings/js/JSInspectedObjectWrapper.cpp:
              * bindings/js/JSInspectedObjectWrapper.h:
              (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
              (WebCore::JSInspectedObjectWrapper::classInfo):
              * bindings/js/JSInspectorCallbackWrapper.cpp:
              * bindings/js/JSInspectorCallbackWrapper.h:
              (WebCore::JSInspectorCallbackWrapper::classInfo):
              (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
              * bindings/js/JSJavaScriptCallFrameCustom.cpp:
              * bindings/js/JSLocationCustom.cpp:
              * bindings/js/JSMimeTypeArrayCustom.cpp:
              * bindings/js/JSNSResolver.cpp:
              * bindings/js/JSNSResolver.h:
              (WebCore::JSNSResolver::create):
              * bindings/js/JSNamedNodeMapCustom.cpp:
              * bindings/js/JSNamedNodesCollection.cpp:
              (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
              * bindings/js/JSNamedNodesCollection.h:
              (WebCore::JSNamedNodesCollection::classInfo):
              * bindings/js/JSNavigatorCustom.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/JSNodeFilterCondition.h:
              (WebCore::JSNodeFilterCondition::create):
              * bindings/js/JSNodeFilterCustom.cpp:
              * bindings/js/JSNodeIteratorCustom.cpp:
              * bindings/js/JSNodeListCustom.cpp:
              * bindings/js/JSPluginArrayCustom.cpp:
              * bindings/js/JSPluginCustom.cpp:
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::getRuntimeObject):
              * bindings/js/JSPluginElementFunctions.h:
              * bindings/js/JSQuarantinedObjectWrapper.cpp:
              (WebCore::JSQuarantinedObjectWrapper::construct):
              (WebCore::JSQuarantinedObjectWrapper::call):
              * bindings/js/JSQuarantinedObjectWrapper.h:
              (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
              (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
              (WebCore::JSQuarantinedObjectWrapper::className):
              * bindings/js/JSRGBColor.cpp:
              * bindings/js/JSRGBColor.h:
              (WebCore::JSRGBColor::classInfo):
              * bindings/js/JSSQLResultSetRowListCustom.cpp:
              * bindings/js/JSSQLTransactionCustom.cpp:
              * bindings/js/JSSVGLazyEventListener.cpp:
              * bindings/js/JSSVGLazyEventListener.h:
              * bindings/js/JSSVGLengthCustom.cpp:
              * bindings/js/JSSVGMatrixCustom.cpp:
              (WebCore::JSSVGMatrix::inverse):
              (WebCore::JSSVGMatrix::rotateFromVector):
              * bindings/js/JSSVGPathSegCustom.cpp:
              * bindings/js/JSSVGPathSegListCustom.cpp:
              (WebCore::JSSVGPathSegList::initialize):
              (WebCore::JSSVGPathSegList::getItem):
              (WebCore::JSSVGPathSegList::insertItemBefore):
              (WebCore::JSSVGPathSegList::replaceItem):
              (WebCore::JSSVGPathSegList::removeItem):
              (WebCore::JSSVGPathSegList::appendItem):
              * bindings/js/JSSVGPointListCustom.cpp:
              * bindings/js/JSSVGTransformListCustom.cpp:
              * bindings/js/JSStorageCustom.cpp:
              * bindings/js/JSStyleSheetCustom.cpp:
              * bindings/js/JSStyleSheetListCustom.cpp:
              * bindings/js/JSTextCustom.cpp:
              * bindings/js/JSTreeWalkerCustom.cpp:
              * bindings/js/JSXMLHttpRequestConstructor.cpp:
              * bindings/js/JSXMLHttpRequestConstructor.h:
              (WebCore::JSXMLHttpRequestConstructor::classInfo):
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
              * bindings/js/JSXSLTProcessorConstructor.cpp:
              * bindings/js/JSXSLTProcessorConstructor.h:
              (WebCore::JSXSLTProcessorConstructor::classInfo):
              * bindings/js/JSXSLTProcessorCustom.cpp:
              * bindings/js/ScheduledAction.cpp:
              * bindings/js/ScheduledAction.h:
              * bindings/js/ScriptController.cpp:
              (WebCore::ScriptController::attachDebugger):
              (WebCore::ScriptController::windowScriptNPObject):
              * bindings/js/ScriptController.h:
              * bindings/js/ScriptControllerGtk.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerMac.mm:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              (WebCore::ScriptController::windowScriptObject):
              (WebCore::ScriptController::clearPlatformScriptObjects):
              (WebCore::updateRenderingForBindings):
              (WebCore::ScriptController::initJavaJSBindings):
              * bindings/js/ScriptControllerQt.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerWin.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/ScriptControllerWx.cpp:
              (WebCore::ScriptController::createScriptInstanceForWidget):
              * bindings/js/StringSourceProvider.h:
              (WebCore::StringSourceProvider::getRange):
              * bindings/objc/DOM.mm:
              (-[DOMNode JSC::Bindings::]):
              * bindings/objc/DOMInternal.h:
              * bindings/objc/DOMInternal.mm:
              (-[WebScriptObject _initializeScriptDOMNodeImp]):
              * bindings/objc/DOMUtility.mm:
              (JSC::createDOMWrapper):
              (WebCore::createDOMWrapper):
              * bindings/objc/WebScriptObject.mm:
              (WebCore::createJSWrapper):
              (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
              * bindings/objc/WebScriptObjectPrivate.h:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/NP_jsobject.h:
              * bridge/c/c_class.cpp:
              * bridge/c/c_class.h:
              * bridge/c/c_instance.cpp:
              * bridge/c/c_instance.h:
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              * bridge/c/c_utility.cpp:
              * bridge/c/c_utility.h:
              * bridge/jni/jni_class.cpp:
              * bridge/jni/jni_class.h:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_instance.h:
              * bridge/jni/jni_jsobject.h:
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::call):
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_objc.mm:
              (JSC::Bindings::dispatchJNICall):
              * bridge/jni/jni_runtime.cpp:
              * bridge/jni/jni_runtime.h:
              * bridge/jni/jni_utility.cpp:
              * bridge/jni/jni_utility.h:
              * bridge/npruntime.cpp:
              (_NPN_GetStringIdentifier):
              * bridge/objc/WebScriptObject.h:
              * bridge/objc/objc_class.h:
              * bridge/objc/objc_class.mm:
              * bridge/objc/objc_instance.h:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.h:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/objc/objc_utility.mm:
              * bridge/qt/qt_class.cpp:
              * bridge/qt/qt_class.h:
              * bridge/qt/qt_instance.cpp:
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertQVariantToValue):
              (JSC::Bindings::):
              * bridge/qt/qt_runtime.h:
              * bridge/runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_array.h:
              * bridge/runtime_method.cpp:
              * bridge/runtime_method.h:
              * bridge/runtime_object.cpp:
              * bridge/runtime_object.h:
              * bridge/runtime_root.cpp:
              (JSC::Bindings::RootObject::invalidate):
              (JSC::Bindings::RootObject::gcProtect):
              (JSC::Bindings::RootObject::gcUnprotect):
              * bridge/runtime_root.h:
              * bridge/testbindings.cpp:
              * bridge/testbindings.mm:
              * bridge/testqtbindings.cpp:
              * dom/Document.cpp:
              (WebCore::Document::~Document):
              * dom/NSResolver.h:
              * dom/Node.cpp:
              (WebCore::Node::setDocument):
              (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
              (WebCore::resolveNamespacesForSelector):
              (WebCore::Node::querySelector):
              (WebCore::Node::querySelectorAll):
              * dom/Node.h:
              * dom/NodeFilter.cpp:
              * dom/NodeFilter.h:
              * dom/NodeFilterCondition.cpp:
              * dom/NodeFilterCondition.h:
              * dom/NodeIterator.cpp:
              * dom/NodeIterator.h:
              * dom/Traversal.cpp:
              * dom/Traversal.h:
              * dom/TreeWalker.cpp:
              * dom/TreeWalker.h:
              * dom/make_names.pl:
              * history/CachedPage.cpp:
              * history/CachedPage.h:
              * html/HTMLPlugInElement.cpp:
              (WebCore::HTMLPlugInElement::getInstance):
              * html/HTMLPlugInElement.h:
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              * loader/icon/IconDatabase.cpp:
              (WebCore::iconDatabase):
              * page/Console.cpp:
              * page/Console.h:
              * page/InspectorController.cpp:
              (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
              (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
              (WebCore::InspectorResource::setXMLHttpRequestProperties):
              (WebCore::InspectorResource::sourceString):
              (WebCore::getResourceDocumentNode):
              (WebCore::search):
              (WebCore::InspectorController::focusNode):
              (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
              (WebCore::InspectorController::addDatabaseScriptResource):
              (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
              * page/InspectorController.h:
              (WebCore::InspectorController::profiles):
              * page/JavaScriptCallFrame.cpp:
              (WebCore::JavaScriptCallFrame::scopeChain):
              * page/JavaScriptCallFrame.h:
              (WebCore::JavaScriptCallFrame::create):
              (WebCore::JavaScriptCallFrame::update):
              * page/JavaScriptDebugListener.h:
              * page/JavaScriptDebugServer.cpp:
              (WebCore::dispatchDidParseSource):
              * page/JavaScriptDebugServer.h:
              * page/JavaScriptProfile.cpp:
              * page/JavaScriptProfile.h:
              * page/JavaScriptProfileNode.cpp:
              (WebCore::getTotalTime):
              (WebCore::getSelfTime):
              (WebCore::getTotalPercent):
              (WebCore::getSelfPercent):
              (WebCore::getNumberOfCalls):
              (WebCore::getChildren):
              (WebCore::getVisible):
              * page/JavaScriptProfileNode.h:
              * page/Page.cpp:
              (WebCore::Page::setDebuggerForAllPages):
              (WebCore::Page::setDebugger):
              * page/Page.h:
              (WebCore::Page::debugger):
              * page/mac/FrameMac.mm:
              * platform/KURL.h:
              (WebCore::KURL::operator JSC::UString):
              * platform/text/AtomicString.cpp:
              (WebCore::AtomicString::add):
              (WebCore::AtomicString::find):
              * platform/text/AtomicString.h:
              (WebCore::AtomicString::AtomicString):
              * platform/text/PlatformString.h:
              * platform/text/String.cpp:
              (WebCore::charactersToDouble):
              * platform/win/BString.cpp:
              * platform/win/BString.h:
              * plugins/MimeTypeArray.h:
              * plugins/Plugin.h:
              * plugins/PluginArray.h:
              * plugins/PluginView.cpp:
              (WebCore::PluginView::start):
              (WebCore::PluginView::performRequest):
              (WebCore::PluginView::bindingInstance):
              * plugins/PluginView.h:
              * plugins/gtk/PluginViewGtk.cpp:
              (WebCore::PluginView::paint):
              (WebCore::PluginView::handleKeyboardEvent):
              (WebCore::PluginView::handleMouseEvent):
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              (WebCore::PluginView::init):
              * plugins/qt/PluginViewQt.cpp:
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              (WebCore::PluginView::init):
              * plugins/win/PluginViewWin.cpp:
              (WebCore::PluginView::dispatchNPEvent):
              (WebCore::PluginView::handleKeyboardEvent):
              (WebCore::PluginView::handleMouseEvent):
              (WebCore::PluginView::setNPWindowRect):
              (WebCore::PluginView::stop):
              * storage/Database.cpp:
              (WebCore::Database::Database):
              * xml/XMLHttpRequest.cpp:
              (WebCore::XMLHttpRequest::responseText):
              (WebCore::XMLHttpRequest::loadRequestAsynchronously):
              (WebCore::XMLHttpRequest::clearResponse):
              (WebCore::XMLHttpRequest::dropProtection):
              (WebCore::XMLHttpRequest::didFinishLoading):
              (WebCore::XMLHttpRequest::didReceiveData):
              * xml/XMLHttpRequest.h:
      
              WebKit/gtk:
      
              * webkit/webkitprivate.cpp:
              (webkit_init):
      
              WebKit/mac:
      
              * Misc/WebCoreStatistics.mm:
              * Plugins/WebBaseNetscapePluginStream.mm:
              (-[WebBaseNetscapePluginStream wantsAllStreams]):
              * Plugins/WebBaseNetscapePluginView.mm:
              (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
              (-[WebBaseNetscapePluginView setWindowIfNecessary]):
              (-[WebBaseNetscapePluginView start]):
              (-[WebBaseNetscapePluginView createPluginScriptableObject]):
              (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
              (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
              (-[WebBaseNetscapePluginView loadPluginRequest:]):
              (-[WebBaseNetscapePluginView _printedPluginBitmap]):
              * Plugins/WebPluginController.mm:
              (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
              (-[WebPluginController startAllPlugins]):
              (-[WebPluginController stopAllPlugins]):
              (-[WebPluginController addPlugin:]):
              (-[WebPluginController destroyPlugin:]):
              (-[WebPluginController destroyAllPlugins]):
              * WebView/WebFrame.mm:
              * WebView/WebScriptDebugDelegate.mm:
              * WebView/WebScriptDebugger.h:
              * WebView/WebScriptDebugger.mm:
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
      
              WebKit/qt:
              
              * Api/qwebframe.cpp:
              (QWebFrame::addToJavaScriptWindowObject):
              (QWebFrame::evaluateJavaScript):
      
              WebKit/win:
      
              * WebCoreStatistics.cpp:
              * WebJavaScriptCollector.cpp:
              * WebScriptCallFrame.cpp:
              (WebScriptCallFrame::jsValueToString):
              * WebScriptCallFrame.h:
              (WebScriptCallFrame::state):
              * WebView.cpp:
              (WebView::WebView):
              (WebView::stringByEvaluatingJavaScriptFromString):
      
              WebKit/wx:
      
              * WebFrame.cpp:
              (wxWebFrame::RunScript):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f782f6a
  22. 18 Aug, 2008 1 commit
    • darin@apple.com's avatar
      JavaScriptCore: · 349e1eb0
      darin@apple.com authored
      2008-08-12  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              - eliminate JSValue::type()
      
              This will make it slightly easier to change the JSImmediate design without
              having to touch so many call sites.
      
              SunSpider says this change is a wash (looked like a slight speedup, but not
              statistically significant).
      
              * API/JSStringRef.cpp: Removed include of JSType.h.
              * API/JSValueRef.cpp: Removed include of JSType.h.
              (JSValueGetType): Replaced use of JSValue::type() with
              JSValue::is functions.
      
              * JavaScriptCore.exp: Updated.
      
              * VM/JSPropertyNameIterator.cpp: Removed type() implementation.
              (KJS::JSPropertyNameIterator::toPrimitive): Changed to take
              PreferredPrimitiveType argument instead of JSType.
              * VM/JSPropertyNameIterator.h: Ditto.
      
              * VM/Machine.cpp:
              (KJS::fastIsNumber): Updated for name change.
              (KJS::fastToInt32): Ditto.
              (KJS::fastToUInt32): Ditto.
              (KJS::jsAddSlowCase): Updated toPrimitive caller for change from
              JSType to PreferredPrimitiveType.
              (KJS::jsAdd): Replaced calls to JSValue::type() with calls to
              JSValue::isString().
              (KJS::jsTypeStringForValue): Replaced calls to JSValue::type()
              with multiple calls to JSValue::is -- we could make this a
              virtual function instead if we want to have faster performance.
              (KJS::Machine::privateExecute): Renamed JSImmediate::toTruncatedUInt32
              to JSImmediate::getTruncatedUInt32 for consistency with other functions.
              Changed two calls of JSValue::type() to JSValue::isString().
      
              * kjs/GetterSetter.cpp:
              (KJS::GetterSetter::toPrimitive): Changed to take
              PreferredPrimitiveType argument instead of JSType.
              (KJS::GetterSetter::isGetterSetter): Added.
              * kjs/GetterSetter.h:
      
              * kjs/JSCell.cpp:
              (KJS::JSCell::isString): Added.
              (KJS::JSCell::isGetterSetter): Added.
              (KJS::JSCell::isObject): Added.
      
              * kjs/JSCell.h: Eliminated type function. Added isGetterSetter.
              Made isString and isObject virtual. Changed toPrimitive to take
              PreferredPrimitiveType argument instead of JSType.
              (KJS::JSCell::isNumber): Use Heap::isNumber for faster performance.
              (KJS::JSValue::isGetterSetter): Added.
              (KJS::JSValue::toPrimitive): Changed to take
              PreferredPrimitiveType argument instead of JSType.
      
              * kjs/JSImmediate.h: Removed JSValue::type() and replaced
              JSValue::toTruncatedUInt32 with JSValue::getTruncatedUInt32.
              (KJS::JSImmediate::isEitherImmediate): Added.
      
              * kjs/JSNotAnObject.cpp:
              (KJS::JSNotAnObject::toPrimitive): Changed to take
              PreferredPrimitiveType argument instead of JSType.
              * kjs/JSNotAnObject.h: Ditto.
              * kjs/JSNumberCell.cpp:
              (KJS::JSNumberCell::toPrimitive): Ditto.
              * kjs/JSNumberCell.h:
              (KJS::JSNumberCell::toInt32): Renamed from fastToInt32. There's no
              other "slow" version of this once you have a JSNumberCell, so there's
              no need for "fast" in the name. It's a feature that this hides the
              base class toInt32, which does the same job less efficiently (and has
              an additional ExecState argument).
              (KJS::JSNumberCell::toUInt32): Ditto.
      
              * kjs/JSObject.cpp:
              (KJS::callDefaultValueFunction): Use isGetterSetter instead of type.
              (KJS::JSObject::getPrimitiveNumber): Use PreferredPrimitiveType.
              (KJS::JSObject::defaultValue): Ditto.
              (KJS::JSObject::defineGetter): Use isGetterSetter.
              (KJS::JSObject::defineSetter): Ditto.
              (KJS::JSObject::lookupGetter): Ditto.
              (KJS::JSObject::lookupSetter): Ditto.
              (KJS::JSObject::toNumber): Use PreferredPrimitiveType.
              (KJS::JSObject::toString): Ditto.
              (KJS::JSObject::isObject): Added.
      
              * kjs/JSObject.h:
              (KJS::JSObject::inherits): Call the isObject from JSCell; it's now
              hidden by our override of isObject.
              (KJS::JSObject::getOwnPropertySlotForWrite): Use isGetterSetter
              instead of type.
              (KJS::JSObject::getOwnPropertySlot): Ditto.
              (KJS::JSObject::toPrimitive): Use PreferredPrimitiveType.
      
              * kjs/JSString.cpp:
              (KJS::JSString::toPrimitive): Use PreferredPrimitiveType.
              (KJS::JSString::isString): Added.
              * kjs/JSString.h: Ditto.
      
              * kjs/JSValue.h: Removed type(), added isGetterSetter(). Added
              PreferredPrimitiveType enum and used it as the argument for the
              toPrimitive function.
              (KJS::JSValue::getBoolean): Simplified a bit an removed a branch.
      
              * kjs/collector.cpp:
              (KJS::typeName): Changed to use JSCell::is functions instead of
              calling JSCell::type.
      
              * kjs/collector.h:
              (KJS::Heap::isNumber): Renamed from fastIsNumber.
      
              * kjs/nodes.h: Added now-needed include of JSType, since the type
              is used here to record types of values in the tree.
      
              * kjs/operations.cpp:
              (KJS::equal): Rewrote to no longer depend on type().
              (KJS::strictEqual): Ditto.
      
      JavaScriptGlue:
      
      2008-08-12  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              - eliminate JSValue::type()
      
              * JSUtils.cpp:
              (KJSValueToCFTypeInternal): Replaced uses of JSValue::type() with
              JSValue::is functions.
              * UserObjectImp.cpp:
              (UserObjectImp::getOwnPropertySlot): Ditto.
              (UserObjectImp::toPrimitive): Take PreferredPrimitiveType argument
              instead of JSType argument.
              * UserObjectImp.h: Ditto.
      
      WebCore:
      
      2008-08-12  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              - eliminate JSValue::type()
      
              * bridge/c/c_instance.cpp:
              (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
              argument instead of JSType argument. Removed unneeded code to handle
              boolean, since that's never passed.
              * bridge/c/c_instance.h: Ditto.
      
              * bridge/c/c_utility.cpp:
              (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
              instead of JSValue::type(). Removed unneeded code to handle
              "unspecified".
      
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
              instead of JSType argument. Removed unneeded code to handle boolean.
              * bridge/jni/jni_instance.h: Ditto.
      
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::convertValueToJObject): Use JSValue::is functions
              instead of JSValue::type().
      
              * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
              instead of JSType argument. Removed unused argument.
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
              (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
              instead of JSType argument. Removed unneeded code to handle boolean
              and another dead code path for unknown types.
      
              * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
              instead of JSType argument. Removed override of type() that caused
              the fallback object to return "UndefinedType" when there is no
              invokeUndefinedMethodFromWebScript:withArguments: method defined.
              That didn't accomplish much, since most checks for undefined don't
              ever call type().
              * bridge/objc/objc_runtime.mm:
              (ObjcFallbackObjectImp::defaultValue): Ditto.
      
              * bridge/qt/qt_instance.cpp:
              (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
              argument instead of JSType argument. Removed unneeded code to handle
              boolean.
              * bridge/qt/qt_instance.h: Ditto.
      
              * bridge/runtime.h:
              (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
              unsed argument.
              * bridge/runtime_object.cpp:
              (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
              argument instead of JSType argument.
              * bridge/runtime_object.h: Ditto.
      
      WebKit/mac:
      
      2008-08-12  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              - eliminate JSValue::type()
      
              * WebView/WebView.mm:
              (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead
              of a switch on JSValue::type().
      
      LayoutTests:
      
      2008-08-12  Darin Adler  <darin@apple.com>
      
              Reviewed by Geoff.
      
              - added a test since I had to rewrite the == and === operators
      
              * fast/js/equality-expected.txt: Added.
              * fast/js/equality.html: Added.
              * fast/js/resources/equality.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      349e1eb0
  23. 05 Jul, 2008 1 commit
  24. 04 Jul, 2008 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · f157abf5
      weinig@apple.com authored
      2008-07-04  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Dan Bernstein.
      
              Split Error and GetterSetter out of JSObject.h.
      
              * API/JSCallbackObjectFunctions.h:
              * GNUmakefile.am:
              * JavaScriptCore.pri:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * JavaScriptCoreSources.bkl:
              * kjs/AllInOneFile.cpp:
              * kjs/ClassInfo.h: Copied from JavaScriptCore/kjs/JSObject.h.
              * kjs/Error.cpp: Copied from JavaScriptCore/kjs/JSObject.cpp.
              * kjs/Error.h: Copied from JavaScriptCore/kjs/JSObject.h.
              * kjs/GetterSetter.cpp:
              * kjs/GetterSetter.h: Copied from JavaScriptCore/kjs/JSObject.h.
              * kjs/JSObject.cpp:
              * kjs/JSObject.h:
              * kjs/nodes.h:
      
      JavaScriptGlue:
      
      2008-07-04  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Dan Bernstein.
      
              * JSObject.h: Rename the header guard as it now conflicts with the
              JSObject in JavaScriptCore.
      
      WebCore:
      
      2008-07-04  Sam Weinig  <sam@webkit.org>
      
              Rubber-stamped by Dan Bernstein.
      
              Split Error and GetterSetter out of JSObject.h.
      
              * ForwardingHeaders/kjs/Error.h: Added.
              * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
              * bindings/js/JSClipboardCustom.cpp:
              * bindings/js/JSDOMWindowBase.cpp:
              * bindings/js/JSEventTargetBase.cpp:
              * bindings/js/JSHTMLDocumentCustom.cpp:
              * bindings/js/JSXMLHttpRequestCustom.cpp:
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/NP_jsobject.cpp:
              * bridge/jni/jni_instance.cpp:
              * bridge/jni/jni_runtime.cpp:
              * bridge/objc/objc_instance.mm:
              * bridge/objc/objc_runtime.mm:
              * bridge/objc/objc_utility.h:
              * bridge/runtime_array.cpp:
              * bridge/runtime_method.cpp:
              * bridge/runtime_object.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f157abf5